최근 개발자 주간 2023에서 Cloudflare는 개발자가 아웃바운드 TCP 소켓을 설정할 수 있도록 지원하는 새로운 Worker API를 공개했습니다. 이 획기적인 소켓 API를 통해 개발자는 이제 데이터베이스가 포함된 Worker에서 직접 TCP 기반 인프라에 원활하게 연결할 수 있습니다. 지금까지 작업자는 HTTP endpoints 및 기타 Cloudflare 서비스와만 통신할 수 있었습니다. 그러나 대부분의 데이터베이스는 클라이언트가 직접 TCP 소켓을 설정해야 합니다.
Cloudflare의 제품 관리자인 Brendan Irvine-Broque와 Cloudflare의 제품 책임자인 Matt Silverlock은 새 API에 대해 자세히 설명했습니다. ...) 하지만 TCP 소켓의 경우 런타임 전반에 걸쳐 명확한 공유 표준이 없다는 문제에 직면했습니다. 기존 API 및 제안의 최상의 요소를 통합하려고 노력했으며 향후 표준에 다시 기여할 계획입니다."
작년 가을에 Cloudflare, Vercel 및 Shopify는 비웹 브라우저 및 JavaScript 기반 개발 환경에서 표준화된 웹 API의 상호 운용 가능한 구현을 만드는 데 전념하는 새로운 커뮤니티 그룹인 WinterCG를 설립했습니다.
최신 API는 cloudflare:sockets 에서 연결 기능을 가져와 액세스할 수 있습니다. PostgreSQL용 JavaScript 데이터베이스 드라이버인 pg는 이미 새로운 API를 지원하지만 MySQL 드라이버( mysql 및 mysql2) 는 아직 지원하지 않습니다. Irvine-Broque와 Silverlock은 다음과 같이 주의합니다.
모든 요청에 대해 새 연결이 생성됩니다. 이것은 모든 플랫폼(...)에서 서버리스 기능에서 데이터베이스에 연결하는 현재 가장 큰 과제 중 하나입니다. 우리는 이미 가장 인기 있는 데이터베이스에 대한 연결 풀링에 대한 더 간단한 접근 방식을 연구하고 있습니다.
Cloudflare는 QUIC 기반 애플리케이션 프로토콜과 함께 개발자가 요청한 인바운드 TCP 및 UDP 연결 지원과 같은 추가 기능을 향후 출시할 예정입니다.
connect() API의 도입은 2023년 개발자 주간 동안 몇 가지 다른 흥미로운 발표와 함께 제공됩니다. 여기에는 애플리케이션 비밀을 안전하게 관리하기 위한 Secrets Store의 출시, D1(Cloudflare의 서버리스 데이터베이스)에 대한 개선 사항, Queues 메시징 서비스의 소비자 동시성 등이 포함됩니다. . 또한 Cloudflare는 Neon, PlanetScale 및 Supabase on Workers를 위한 데이터베이스 통합을 발표했습니다.
열린 각 TCP 소켓은 작업자가 동시에 유지할 수 있는 열린 연결의 최대 수에 기여합니다. SMTP 메일 서버로 이메일을 보내기 위해 포트 25에서 TCP 연결을 생성하는 것은 여전히 불가능합니다.
AppMaster 와 같은 노코드 및 로우코드 플랫폼이 계속 발전함에 따라 connect() API와 같은 기능의 도입은 연결을 간소화하고 개발자를 위한 새로운 기회를 창출함으로써 개발 환경을 더욱 강화할 것입니다.