Jest u nas mikroserwis X, który integruje się przez różne api do systemów zewnętrznych A,B,C,D… itd.
I teraz ten system X ma takie flow działania, że (wyimaginowany przykład) jak wyślemy request do niego żeby coś „kupić” to on w zależności od tego co chcemy „kupić” zintegruje się z jednym z tych zewnętrznych systemów. Czyli można powiedzieć, że jest takim jakby gatewayem, który ma jedno zunifikowane api i pod spodem tłumaczy to na api systemów zewnętrznych, które mogą być różne czyli jakby ukrywa pewne complexity.
I teraz powstał pomysł aby ten mikroserwis X rozdzielić na mniejsze tj. X.A, X.B, X.C itd. każdy z nich byłby odpowiedzialny za komunikację tylko z jednym systemem zewnętrznym.
Zaletami tego mają być to, że np. jak coś się zmieni w api do A to tylko zmieniamy i wdrażamy X.A a nie wszystko i nie robimy regresji dla wszystkiego. Kolejna rzecz to jak np. będzie więcej ruchu do B to wtedy można przeskalować tylko X.B a nie wszystko.
Zastanawiam się czy takie rozdrabnianie się ma sens i czy nie doda tylko niepotrzebną złożoność bo przecież X -> X.A, X.B, X.C też muszą się jakoś komunikować?