Как правило, наличие общих проектов или библиотек не является хорошей практикой в микросервисах, потому что таким образом вы объединяете разработку и развертывание обоих сервисов, поэтому, когда вы вносите изменения в общий проект, вы должны изменить и развернуть два другие микросервисы.
В случае события лучше всего иметь разные события в обоих сервисах. Это не обязательно означает, что их нужно дублировать. На стороне производителя у вас должно быть событие со всей информацией, необходимой для любого из потенциальных потребителей, а на стороне потребителя у вас должно быть событие с информацией, необходимой для этой службы, которая может быть меньше.
Это Таким образом, вы разделяете две службы, и если завтра службе потребителей потребуется другая информация, предоставленная производителем, вам нужно только изменить сторону потребителя, и наоборот.
сторонний api, который вы не контролируете, вы создаете свой собственный объект ответа с данными, предоставленными api, которые вам нужны, и этот объект отличается от того, который используется api.