Этот вопрос касается очереди сообщений между сервисной архитектурой. Вряд ли что-то найти по этой теме.
Ситуация:
Микросервис A и микросервис B. Микросервис A имеет дело с сущностью "что-то", а B необходимо о. Я придерживаюсь общего мнения, чтобы не обсуждать границы.
В нашем случае A отправляет сообщение, которое содержит событие и идентификатор связанной сущности, например
Событие: что-то создано
SomethingID: 1234
B использует это сообщение, и, если ему нужна дополнительная информация, он извлекает его из A с SomethingID.
Второй подход заключается в том, что сообщение содержит не только приведенную выше информацию, но и метаданные, например
Событие: что-то создано
SomethingID: 1234
SomeFieldKey: someFieldValue
...
Постное сообщение:
Pro:
* Меньше использования сети
* Всегда одинаковая структура сообщений
Минусы:
* Если информация от A требуется по требованию, должен быть какой-то механизм, чтобы поймать e. г. сбои сети
Жирное сообщение:
Pro:
* Информация уже есть
Против:
* Что делать, если приложенной информации недостаточно?
Так что у него есть как плюсы, так и минусы, и я собираюсь получить общее представление о том, какой подход вы используете.
Спасибо за ответы заранее