Как правильно сархитектурить graphQL в микросервисах?
Не надо так делать. Graphql это только gateway. Использовать его как интерфейс к базе данных, даже через бизнес-логику это такое себе решение. Хотя можно, конечно, кто же спорит. Федерации это удобно, но на масштабе проще застрелиться, чем заниматься этим. Сам aplollo ничего не сделает за вас - это фреймворк, не больше) ну и большое комьюнити с готовыми модулями
Иван Шумов, возможно дал дельный совет, но всё же я решил разобраться с федерациями. Нашёл готовый гейтвей nautilus, который на мой взгляд, идеально решает задачу.
То есть по факту у нас сейчас 3 сервиса, и один общий гейтвей, который ретранслирует расширенный API, автоматически собирая его с других сервисов.
Возможно, пока не столкнулся с проблемами, но на данный момент получил именно то, чего хотел.
Насчёт "Не надо так делать. Graphql это только gateway. Использовать его как интерфейс к базе данных, даже через бизнес-логику это такое себе решение. " - на данный момент не могу полностью согласиться. Получается очень удобно расширять схемы и достаточно независимо (в плане разработчиков - каждый меняет свой граф, а не общий).