Как подключить Cloudflare

Модернизация знакомого подхода к REST API с помощью PostgreSQL и Cloudflare Workers

Postgres — это широко распространенная технология баз данных с открытым исходным кодом. Он содержит огромное количество функций и обеспечивает безупречную надежность. Это также один из самых популярных инструментов баз данных SQL в отрасли. По мере того, как отрасль создает «современные» инструменты взаимодействия с разработчиками — в режиме реального времени и высоко интерактивные, — Postgres также служит отличной основой. Такие проекты, как Hasura, которая предлагает движок GraphQL в реальном времени, и Supabase, альтернатива Firebase с открытым исходным кодом, используют Postgres под капотом. Это делает Postgres технологией, которую каждый разработчик должен знать и рассмотреть возможность использования в своих приложениях.

Для многих разработчиков REST API служат основным способом взаимодействия с нашими данными. Библиотеки для конкретных языков, например pg позволяют разработчикам подключаться к Postgres в своем коде и напрямую взаимодействовать со своими базами данных. Тем не менее, почти в каждом случае разработчики изобретают велосипед, выстраивая одну и ту же логику подключения для каждого приложения.

Многие разработчики, создающие приложения с помощью Cloudflare Workers, нашей платформы бессерверных функций, спрашивают, как они могут использовать Postgres в функциях Workers. Сегодня мы выпускаем новый учебник для Workers, в котором показано, как подключиться к Postgres внутри функций Workers. Построенный на PostgREST, вы напишете REST API, который напрямую взаимодействует с вашей базой данных на периферии.

Это означает, что вы можете полностью создавать приложения на границе Cloudflare, используя Workers в качестве высокопроизводительного и глобально распределенного API, а Cloudflare Pages, нашу платформу развертывания Jamstack, в качестве хоста для вашего внешнего пользовательского интерфейса. С помощью Workers вы можете добавлять новые конечные точки API и обрабатывать аутентификацию. спереди вашей базы данных без необходимости изменять конфигурацию Postgres. Благодаря таким функциям, как Workers KV и Durable Objects, Workers могут обеспечить глобально распределенное кэширование перед вашей базой данных Postgres. Такие функции, как WebSockets, могут использоваться для создания взаимодействия в реальном времени с вашими приложениями без необходимости перехода с Postgres на новую платформу базы данных как услуги.

PostgREST — это инструмент с открытым исходным кодом, который генерирует соответствующий стандартам REST API для ваших баз данных Postgres. Многие растущие стартапы, использующие базу данных как услугу, такие как Retool и Supabase, используют PostgREST под капотом. PostgREST работает быстро и имеет отличные настройки по умолчанию, что позволяет вам получать доступ к вашим данным Postgres, используя стандартные соглашения REST.

Приятно иметь доступ к базе данных напрямую из Workers, но действительно ли вы хотите, чтобы ваша база данных была открыта для публичного доступа в Интернет? К счастью, у Cloudflare есть решение для этого, и оно отлично работает с PostgREST: Cloudflare Tunnel. Cloudflare Tunnel — один из моих любимых продуктов в Cloudflare. Он создает безопасный туннель между вашим локальным сервером и сетью Cloudflare. Мы хотим предоставить доступ к нашей конечной точке PostgREST, не делая всю нашу базу данных доступной в общедоступном Интернете. Cloudflare Tunnel позволяет нам делать это безопасно.

Модернизация знакомого подхода к REST API с помощью PostgreSQL и Cloudflare Workers

Используя PostgREST с Postgres, мы можем создавать приложения на основе REST API. В частности, он отлично подходит для Cloudflare Workers, нашей бессерверной функциональной платформы. Workers — отличное место для создания REST API. С помощью библиотеки JavaScript с открытым исходным кодом postgrest-js, мы можем взаимодействовать с конечной точкой PostgREST изнутри нашей функции Workers, используя простые примитивы на основе JS.

Кстати, если вы еще не создали REST API с Workers, посмотрите наш бесплатный видеокурс с Egghead: «Создание бессерверного API с Cloudflare Workers».

Масштабирование приложений, построенных на Postgres, — невероятно распространенная проблема, с которой сталкиваются разработчики. Часто это означает дублирование вашей базы данных Postgres и распределение операций чтения между вашей первичной базой данных и парком «реплик чтения». С помощью PostgREST и Workers мы можем начать исследовать другой подход к решению проблемы масштабирования. Уникальная архитектура рабочих позволяет нам развертывать сверхпроизводительные функции спереди баз данных Postgres. С помощью таких инструментов, как Workers KV и Durable Objects, представленных в Workers в качестве базовых API-интерфейсов JavaScript, мы можем создавать интеллектуальные кеши для наших баз данных, не жертвуя производительностью или опытом разработчика.

Если вы хотите узнать больше о создании REST API в Cloudflare Workers с помощью PostgREST, ознакомьтесь с нашим новым руководством! Мы также предоставили две библиотеки с открытым исходным кодом, которые помогут вам начать работу. cloudflare/postgres-postgrest-cloudflared-example помогает настроить конечную точку Postgres + PostgREST с поддержкой Cloudflare Tunnel. postgrest-worker-example — это пример использования postgrest-js внутри Cloudflare Workers для создания REST API с вашими базами данных Postgres.

Модернизация знакомого подхода к REST API с помощью PostgreSQL и Cloudflare Workers

С postgrest-js, вы можете создавать динамические запросы и запрашивать данные из своей базы данных, используя известные и любимые вами JS-примитивы:

// Get all users with at least 100 followers
const { data: users, error } = await client
.from('users')
.select(‘*’)
.gte('followers', 100)

Вы также можете присоединиться к нашему сообществу разработчиков Cloudflare в Discord! Узнайте больше о том, что вы можете создать с помощью Cloudflare Workers, и познакомьтесь с нашим замечательным сообществом разработчиков со всего мира. Получите ссылку для приглашения здесь.

Что такое Cloudflare