В даний час моя компанія працює над розробкою архітектури мікросервісу, але ми на цьому шляху стикаємося з певними зростаючими болями (шоком!). Одним із ключових моментів, з якими ми стикаємося, є передача великої кількості даних між нашими службами.
Як невеликий фон, у нас є магазин документів, який служить сховищем для будь-якого документа, з яким нам може знадобитися обробка у всій компанії. Взаємодія зі згаданим магазином здійснюється через сервіс, який надає клієнту унікальний ідентифікатор та місце для передачі документа. Пізніше можна знайти доступ до документа через пошук з наданим ідентифікатором.
Проблема в цьому - чи має сенс всі наші мікросервіси приймати цей унікальний ідентифікатор як частину свого API для взаємодії з документами чи ні? Для мене це суттєво неправильно - служби вже не є незалежними і покладаються на послуги магазину документів. Хоча я визнаю, це може спростити дизайн API і, можливо, навіть мати деякий приріст продуктивності, що призведе до з’єднання, більше, ніж противагу переваг.
Хтось знає, як єдинороги веселки (Netflix, Amazon, Google тощо) обробляють великі файли / обмін даними між своїми службами?