Если ваш вопрос заключается в том, использовать ли один и тот же кластер ES для обеих служб или отдельный кластер для каждого, то -
Я бы выступил за утверждение «плохого дизайна не бывает». Дизайн всегда должен дополнять ваши требования и в то же время должен быть достаточно простым для понимания. Запомните принцип дизайна KISS .
Микросервисы поддерживают оба шаблона для базы данных
У обоих есть свои плюсы и минусы.
Но при проектировании в микросервисах не следует упускать из виду или пренебрегать ограниченным контекстом .
В вашем случае, я думаю, что более простая версия дизайна могла бы поддерживать четкие границы:

Служба документов : берет на себя основную ответственность за взаимодействие с хранилищем документов (в вашем случае Elastic search). Это службы, которые извлекают и при необходимости сохраняют документ в хранилище документов. Сохранение службы документов единственной, взаимодействующей с хранилищем документов, дает вам преимущество, так как другим вашим службам не нужно беспокоиться о том, как и где хранятся документы. Другие службы просто знают одну службу, которая включает в себя ответственность за предоставление и хранение документов. Если в будущем вы захотите изменить хранилище документов, его можно легко изменить, не влияя на другие службы в вашем ландшафте. (по сравнению с тем, когда многие службы взаимодействуют с вашим хранилищем данных и если вы хотите изменить хранилище, все эти службы должны включать эти изменения).
Итак, вы видите, как ограничивающий контекст сделал ваш дизайн расширяемым.
Служба отчетов : берет на себя ответственность за создание отчета. Он заключает в себе всю бизнес-логику создания полных отчетов (только генерации). Эта служба не знает, где хранятся документы / отчеты. ( Эта служба ограничена только генерацией отчетов без хранения отчетов )