Запущен движок GraphQL с открытым исходным кодом, который можно использовать с приложениями, основанными на Postgres, без необходимости в коде обработки GraphQL серверной части.
Новый GraphQL как услуга может использоваться интерфейсными разработчиками для создания масштабируемых приложений GraphQL на Postgres.
Механизм GraphQL от Hasura автоматизирует реализацию и привязку баз данных к графу. API-интерфейсы можно использовать для выбора таблиц из новой или существующей базы данных для использования с GraphQL и связывания этих существующих таблиц в график. Механизм имеет встроенную авторизацию и аутентификацию с детальной аутентификацией и динамическую систему контроля доступа, которая интегрируется с существующими системами аутентификации, такими как Auth0 или пользовательскими реализациями. Движок также легкий, потребляет всего 50 МБ ОЗУ даже при обслуживании более тысячи запросов в секунду.
Микросервис данных платформы Hasura предоставляет HTTP API для запроса Postgres с использованием GraphQL или JSON, который позволяет вам использовать ограничения внешнего ключа в Postgres для запроса иерархических данных в одном запросе, и запросы могут перемещаться по таблицам на произвольную глубину. Интерфейс запросов в сочетании с разрешениями позволяет интерфейсным приложениям запрашивать Postgres без написания кода серверной части.
Запрос к микросервису данных сначала проходит авторизацию на шлюзе. Добавляются ID пользователя и заголовки ролей, а затем запрос передается через прокси в службу данных. Он получает запрос, анализирует заголовки, чтобы получить идентификатор пользователя и роль, и анализирует тело в GraphQL AST. Затем запрос проверяется на семантическую правильность, и разрешения применяются. Затем он преобразуется в оператор SQL и выполняется в Postgres. Наконец, результат Postgres обрабатывается и отправляется клиенту.
Разработчики Hasura говорят, что их серверы GraphQL подобны самодокументирующимся API, которые обеспечивают полную доступность API для разработчиков.
Танмай Гопал, соучредитель и генеральный директор Hasura, отметил:
«Мы очень рады тому, что движок Hasura GraphQL с открытым исходным кодом еще больше упростил внедрение GraphQL. Сообщество GraphQL может использовать наш облегченный движок GraphQL-as-a-Service и ускорить любое из своих новых или существующих приложений Postgres «.
Хотя этот выпуск ориентирован на Postgres, в будущем планируется добавить поддержку других баз данных.