Moja firma pracuje obecnie nad przyjęciem architektury mikrousług, ale po drodze napotykamy na coraz większy ból (szok!). Jednym z kluczowych punktów spornych, przed którymi stoimy, jest sposób przesyłania dużych ilości danych między naszymi różnymi usługami.
Jako odrobinę tła mamy magazyn dokumentów, który służy jako repozytorium każdego dokumentu, który może być potrzebny w całej firmie. Interakcja ze wspomnianym sklepem odbywa się za pośrednictwem usługi, która zapewnia klientowi unikalny identyfikator i lokalizację do strumieniowego przesyłania dokumentu. Do lokalizacji dokumentu można później uzyskać dostęp za pomocą podanego identyfikatora.
Problem w tym, że - czy ma sens, aby wszystkie nasze mikrousługi akceptowały ten unikalny identyfikator jako część interfejsu API w celu interakcji z dokumentami, czy nie? Dla mnie jest to z natury niewłaściwe - usługi nie są już niezależne i polegają na usługach magazynu dokumentów. Przyznaję, że może to uprościć projektowanie interfejsu API i być może nawet zwiększyć wydajność wynikowego sprzężenia więcej niż zrównoważyć korzyści.
Czy ktoś wie, jak tęczowe jednorożce (Netflix, Amazon, Google itp.) Obsługują duże pliki / wymianę danych między swoimi usługami?