Федерация Graphql против сшивания схемы. Когда выбирать одно вместо другого
Я новичок в обеих концепциях, так что извините, если они основаны на мнении. В настоящее время я смотрю на Apollo Federation и сшивание схемы, предоставляемое пакетом graphql-tools, хотя я предполагаю, что это применимо к аналогичным пакетам. Можно ли создать что-то вроде таблицы, описывающей определенные требования / условия, чтобы отдавать предпочтение одному перед другим?
1 ответ
GraphQL Federation и « сшивание схем »компании Apollo достигают одной и той же цели: объединяют несколько API-интерфейсов GraphQL в рамках одного API-интерфейса GraphQL.
Насколько я понимаю, основные различия между ними следующие:
- В федерации Apollo службы подграфов владеют логикой для связывания совместно используемых типов; при сшивании схемы эта логика обрабатывается шлюзом.
- Федерация Apollo распределяет права собственности на подграфы между отдельными сервисными командами; сшивка берет на себя централизованную ответственность за полную схему.
- Федерация Аполлона тесно связана с экосистемой Аполлона; Сшивка схемы GraphQL Tools имеет более открытый исходный код.
Для получения более подробной информации я бы рекомендовал прочитать https://product.voxmedia.com/2020/11/2/21494865/to-federate-or-stitch-a-graphql-gateway-revisited .