Как разделить данные между микросервисами? - PullRequest
0 голосов
/ 02 октября 2019

Вот сценарий, для решения которого мне нужна помощь.

-> означает зависимость

Служба A -> Служба B

Службы содержат свои собственные базы данных.

Односторонняя зависимость в порядке. Но теперь у меня есть требование, когда у меня есть данные, которые используются только в Сервисе A, но принадлежат к записям в B, и эти данные должны быть созданы во время создания записи в Сервисе B.

Это приведет к любымизменения в структуре данных, требуемые А также потребуются в В, что приведет к тесной связи.

Какой подход я могу использовать для решения этой связи данных?

1 Ответ

0 голосов
/ 02 октября 2019

Для этого

Односторонняя зависимость в порядке. Но теперь у меня есть требование, когда у меня есть данные, которые используются только в Сервисе A, но относятся к записям в B, и эти данные необходимо создавать в момент создания записи в Сервисе B.

Youследует рассмотреть источник событий. Когда запись создается в Сервисе B, должно быть опубликовано событие, например, RecordInBCreated, содержащее эту запись. Служба А будет подписана на прослушивание этого события. После того, как событие опубликовано B и прослушано A, вы можете делать все с данными этого события в Сервисе A. Таким образом, вам не нужно сильно беспокоиться об этом:

Это приведет клюбые изменения в структуре данных, требуемые А, также потребуются в В, что приведет к сильной связи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...