Обычно в микросервисных архитектурах используется концепция «ничего не делиться», что означает, что ваши кодовые базы должны быть идеально разделены. Да, это будет означать, что вы напишите больше кода, но ваши микросервисы будут более управляемыми, отсоединенными и, вероятно, более легкими.
Кроме того, что касается DDD-части, задайте вопрос, вам действительно следует стремиться поддерживать четко определенные границы в вашем приложении, а это значит, что вам не следует бояться иметь «избыточные» сущности в разных ограниченных контекстах, потому что одна и та же концепция обычно означают разные вещи для разных областей вашего приложения.
Если придерживаться темы «ERP», можно ожидать, что контекст «Размещение заказа» в вашем приложении будет иметь совершенно иной взгляд на сущность «Продукт», чем контекст «Налога». Хранение их в разных контекстах в разных базах кода позволит вам моделировать меньшие агрегаты с более высоким уровнем связности, которые будут намного менее связаны с другими конструкциями вашей модели, что упрощает развитие ваших микросервисов.