Автор: Седрик Лунвен
В этом посте вы познакомитесь с основами федерации 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.
Ресурсы
- Изучите федерацию GraphQL, создав криптоприложение
- Развертывание клона Netflix с GraphQL и DataStax Astra DB
- Присоединяйтесь к нашему Discord: Братство колец (Кассандры)
- Astra DB — управляемый Apache Cassandra как услуга
- Доступ к Cassandra с помощью Stargate GraphQL API
- kubowania (Аня Кубув) · GitHub
- React — библиотека JavaScript для создания пользовательских интерфейсов
- Что, когда, почему и как с федеративным GraphQL