Ваша забота верна, но в то же время подход Microservices - это дать и взять.Вы получаете слабую связь за счет индивидуальной базы данных для каждой услуги.Не существует правильного ответа на архитектуру микросервисов, и это зависит от того, чего вы пытаетесь достичь.
Согласно теореме CAP вы должны идти на компромисс между согласованностью и доступностью, и в большинстве случаев мы идем с возможной согласованностью.Если ваша услуга A не соответствует B, то в конечном итоге это будет сделано, и это будет компромисс за счет доступности.
Еще одна вещь, касающаяся микросервиса, заключается в том, что вы сохраняете только ссылку на данные из другой службы и могут быть очень ограничены фактическими данными из другой службы, но определенно не очень.И это также только в том случае, если репликация данных делает ваш сервис независимым и автономным, если вы не можете достичь какого-либо из них даже после репликации данных, тогда нет никакого смысла.Например, ваша служба доставки будет иметь полную историю перехода заказа, но ваша служба бронирования будет иметь только самый последний статус заказа (например, в пути, на борту и т. д.).Пользователь переходит к бронированию и вы показываете текущий статус заказа.Но если пользователь нажимает на детали, вы получаете всю историю перехода заказов из микросервиса доставки.Теперь в какой-то момент ваша служба доставки перестает работать, и ваш пользователь проверяет статус, по крайней мере, у вас текущего статуса заказа, даже если вы не можете показать детали, потому что статус заказа копируется в службе бронирования.
Что касается новых сервисов, присоединяющихся к системе на более позднем этапе, то использование источников событий - это шаблон, который вы используете для подобных сценариев.Это сложный шаблон, но он приведет ваши новые добавленные сервисы в состояние, в котором вы хотите их видеть.Вы в основном сохраняете все свои события в хранилище событий и воспроизводите их, чтобы достичь текущего состояния системы, и предварительно заполняете базу данных службы C этими событиями.