Главное, чтобы иметь однозначного владельца - т. Е. Если вы делитесь магазином, это нормально, если только один сервис когда-либо использует данный набор потоков.
В NEventStore v5 +, например, это кодифицировано в том, что «ведро» является подразделением внутри хранилища - каждая служба получает изолированный набор состояний таким образом. Или можно сделать то же самое через несколько SCHEMA в SQL SB.
Есть, конечно, много хороших причины, чтобы отделить по максимуму слишком
- вы не хотите, чтобы оставить человек открытых искушения читать различные услуги
- вы хотите, чтобы включить службы идти отдельные пути - вы не хотите иметь каких-либо изменений инфраструктуры для Service B требовать развернуть услуги А
- , имеющий общую LIB, который может идти рука об руку с этой точки зрения, также slipperly склон
Следует отметить, что эта проблема является общим ограничением в соответствии с принципом автономии микросервисов (и SOA до него)
Разрешено ли потребителю (читаемая модель) прослушивать несколько хранилищ событий для создания сложная проекция? –
Ну ... нет «разрешено». Но общий совет заключается в том, что любая интеграция между микросервисами - это интерфейс, с которым все становится связанным, со всей болью понимания, анализа и контроля версий с течением времени. Таким образом, каждый из них должен быть смоделирован явно - т. Е. Вы создадите что-то, что явно создает любые события, которые нужны другим - если вы этого не сделаете, вы получите мяч грязи так же быстро, как и с любой другой архитектурой. (Вот почему общий совет заключается в том, чтобы никогда не просто отбрасывать N сервисов, используя ту же самую инфраструктуру для каждой службы/контекста соответствующим образом и индивидуально) –
@ConstantinGALBENU Извините, забыл @ вас в –