Автор: Седрик Лунвен

В этом посте вы познакомитесь с основами федерации GraphQL и получите необходимую информацию, прежде чем приступить к семинару по криптографическим приложениям от Ania Kubów.

Объединение GraphQL — популярный подход для компаний с большими распределенными архитектурами, где масштабируемость и гибкость имеют первостепенное значение. Например, Adobe использует федерацию GraphQL в 40 конечных точках API, чтобы повысить гибкость и скорость своей команды; тем временем Netflix разработала федеративную платформу GraphQL, чтобы быстро и надежно масштабировать свой API для своей студийной экосистемы.

Если вы уже знакомы с GraphQL, то изучение того, как объединять данные с помощью API-интерфейсов GraphQL, является хорошим следующим шагом.

На этом семинаре Аня расскажет вам о федерации GraphQL и о том, как ее использовать для создания простого криптографического приложения. В процессе вы узнаете, как создавать базу данных с помощью DataStax Astra DB, взаимодействовать с ней с помощью GraphQL и объединять данные из нескольких баз данных для заполнения вашей криптографической панели.

Специального программного обеспечения для установки не требуется, и мы будем использовать только бесплатные технологии с открытым исходным кодом, в том числе:

  • React для разработки пользовательского интерфейса криптографического приложения.
  • Astra DB в качестве нашей бесплатной бессерверной базы данных
  • GraphQL для создания, чтения, обновления и удаления данных приложения.
  • Apollo для объединения данных из наших баз данных

Давайте начнем.

Общие сведения о федерации GraphQL

Начнем с краткого введения в сам язык запросов. GraphQL — это язык запросов с открытым исходным кодом, изначально созданный Facebook, который используется для извлечения данных из API в ваше приложение.

С GraphQL вы можете скрыть сложность нескольких систем (например, микросервисов и сторонних API) за одним интерфейсом GraphQL. Это позволяет вам получать данные из нескольких источников всего за один запрос, что экономит пропускную способность и повышает производительность вашего приложения.

Проще говоря, федеративная архитектура объединяет несколько схем из разных сервисов и объединяет их в одну унифицированную конечную точку API. Хотя иметь единый API GraphQL сложно, когда речь идет о системах масштаба предприятия.

Именно здесь на помощь приходит Apollo Federation. Это уровень шлюза, который позволяет легко объединить несколько API-сервисов GraphQL в один, чтобы граф масштаба предприятия мог работать как набор отдельно поддерживаемых сервисов GraphQL. Это дает командам свободу работать над разными частями схемы графа независимо друг от друга. Это также ускоряет и упрощает масштабирование, управление и развертывание.

На высоком уровне архитектура Apollo Federation состоит из:

  • Сервисы подграфов, каждый из которых соответствует определенной схеме GraphQL.
  • Шлюз, который объединяет схемы в федеративный граф и обрабатывает запросы по подграфам.

На этом семинаре мы будем использовать Apollo Federation, чтобы объединить две базы данных и направить их объединенный вывод в криптографическое приложение. Для баз данных мы будем использовать DataStax Astra DB, с которым мы познакомимся в следующем разделе.

Ваша бесплатная база данных с DataStax Astra DB

Astra DB — это бессерверная база данных как услуга (DBaaS), которая полностью управляет Apache Cassandra®. Это означает, что вы можете использовать высокую доступность и надежность Cassandra, но избавите себя от проблем, связанных с ее эксплуатацией и управлением.

Самое приятное то, что вы можете работать с Astra DB на совершенно бесплатном уровне, с бесплатным объемом до 80 ГБ каждый месяц и свободой развертывания мультитенантных или выделенных баз данных на AWS, Azure или GCP. Если вам нужно масштабировать позже, вы можете просто платить по мере использования и платить только за то, что вы используете.

Вторая лучшая часть заключается в том, что как только вы получите доступ к Astra DB, вы автоматически получите доступ к Stargate — шлюзу данных с открытым исходным кодом, который позволяет легко запрашивать любую базу данных Cassandra через REST API. Одним из таких API является Stargate GraphQL API, который позволяет вам делать следующее:

  • Получите необходимые данные из любой базы данных Cassandra, используя типы, запросы и мутации GraphQL.
  • Легко и гибко комбинируйте данные из нескольких сервисов.
  • Создавайте новые таблицы базы данных напрямую через API.
  • Создайте прототип своих мутаций и запросов, используя встроенный сервлет GraphQL Playground.

На этом семинаре вы будете использовать Stargate GraphQL API в качестве источника данных в Astra DB, а Apollo — в качестве шлюза к федеративным базам данных.

Создайте крипто-приложение всего за час

Теперь, когда у вас есть лучшее представление о федерации GraphQL, вы готовы увидеть ее в действии при создании собственного криптографического приложения. Вот что вы будете делать на этом совершенно бесплатном семинаре:

  • Создайте базу данных Astra DB
  • Создайте другую базу данных с фиктивными данными
  • Создайте простую криптографическую панель с помощью React
  • Объединение данных из обеих баз данных с помощью GraphQL
  • Просматривайте криптографическую информацию на новой изящной приборной панели.

К концу этого семинара вы будете знать, как объединить две базы данных с помощью GraphQL для заполнения криптографического приложения, которое выглядит примерно так:

Готовы начать? Зарегистрируйте бесплатную учетную запись Astra DB, а затем изучите видео семинара на YouTube. Исходный код можно найти в репозитории GraphQL Workshop от Ania на GitHub.

Помните, что это простое криптографическое приложение, которое научит вас основам революционного подхода к API GraphQL. После того, как вы освоите этот мастер-класс, продолжайте в том же духе с нашей записью в блоге Объединение данных с использованием Stargate GraphQL!

Познакомьтесь с другими бесплатными учебными пособиями на нашем Канале разработчиков DataStax на YouTube и подпишитесь на оповещения о событиях, чтобы получать уведомления о новых семинарах для разработчиков. Чтобы получать эксклюзивные сообщения обо всех данных, подписывайтесь на DataStax на Medium.

Ресурсы

  1. Изучите федерацию GraphQL, создав криптоприложение
  2. Развертывание клона Netflix с GraphQL и DataStax Astra DB
  3. Присоединяйтесь к нашему Discord: Братство колец (Кассандры)
  4. Astra DB — управляемый Apache Cassandra как услуга
  5. Доступ к Cassandra с помощью Stargate GraphQL API
  6. kubowania (Аня Кубув) · GitHub
  7. React — библиотека JavaScript для создания пользовательских интерфейсов
  8. Что, когда, почему и как с федеративным GraphQL