Одним из определяющих принципов "службы" в этом контексте является то, что она абсолютно точно владеет данными в области, за которую она отвечает, а также операциями с этими данными.
Копирование данных посредством репликации или любого другого механизма снимает с себя эту ответственность. Либо вы тоже копируете бизнес-правила, либо в конечном итоге окажетесь в ситуации, когда вам понадобится другой сервис, обновленный для изменения ваших внутренних правил.
Использование одной службы данных - это просто "не делай SOA"; если у вас есть единственное место, которое управляет всеми данными, у вас нет независимых служб, у вас есть только одна служба.
Вместо этого я бы предложил третий вариант: использовать композицию для объединения этих данных, полностью избегая операции JOIN на уровне базы данных.
Вместо того, чтобы думать о необходимости объединения этих двух значений в базе данных, подумайте о том, как объединить их вместе по краям:
Когда вы отображаете HTML-страницу для клиента, вы можете предоставить HTML-код из нескольких служб и визуально составлять их рядом друг с другом: сведения о клиенте поступают из службы поддержки клиентов, а сведения о заказе из службы заказов.
Аналогично электронному письму со счетом: визуально составляйте данные, предоставленные несколькими службами, без необходимости объединения в базу данных.
Это имеет два преимущества: во-первых, вы избавляетесь от необходимости присоединяться к базе данных и даже от необходимости хранить данные в базе данных того же типа. Теперь каждый сервис может использовать любое хранилище данных, наиболее соответствующее их потребностям.
Два, вы можете легко изменить внешнюю сторону вашего приложения. Если у вас маленькие, компонуемые детали, вы можете легко добавлять их в новое расположение.