Действительно, вариант 2 (прямой доступ к БД) делает неясным право собственности на разделяемые сущности и ответственность за их неизменность.
В долгосрочной перспективе риски обслуживания возрастают. Типичным примером является обновление свойства в одной службе, которое не запускает некоторые обновления согласованности, необходимые для свойств, важных для другой службы. Распределение обновления между сервисами может не решить проблему из-за проблем с транзакционной согласованностью.
Вы можете сохранить ситуацию прямого доступа к базам данных чистой, используя общую библиотеку. В этом случае вы должны синхронизировать релизы и развертывание обоих сервисов (coupling). Или же вы можете рассмотреть возможность обеспечения владения сущностями и развязки, например, с помощью микросервисного подхода.
Прикрепляю к посту несколько видео по теме: