29 maj 2023·1 min czytania

Cloudflare Workers udostępnia interfejs API connect() umożliwiający bezpośrednie tworzenie gniazd TCP

Workery Cloudflare obsługują teraz tworzenie wychodzących gniazd TCP za pomocą interfejsu API connect(), oferując programistom płynny dostęp do infrastruktury opartej na protokole TCP, w tym baz danych, bezpośrednio ze środowiska roboczego.

Cloudflare Workers udostępnia interfejs API connect() umożliwiający bezpośrednie tworzenie gniazd TCP

Podczas ostatniego Tygodnia Deweloperów 2023, Cloudflare ujawnił nowe API Worker, które umożliwia deweloperom tworzenie wychodzących gniazd TCP. Ten przełomowy interfejs API gniazd umożliwia programistom płynne łączenie się z infrastrukturami opartymi na protokole TCP bezpośrednio z Workera, który teraz obejmuje bazy danych. Do tej pory Workerzy mogli komunikować się tylko z HTTP endpoints i innymi usługami Cloudflare; jednak większość baz danych wymaga od klientów ustanowienia bezpośrednich gniazd TCP.

Brendan Irvine-Broque, Product Manager w Cloudflare, i Matt Silverlock, Director of Product w Cloudflare, omówili nowe API: "W przypadku Workers staramy się wspierać standardowe interfejsy API, które są obsługiwane w przeglądarkach i środowiskach innych niż przeglądarki tam, gdzie to możliwe, (...) ale w przypadku gniazd TCP stanęliśmy przed wyzwaniem - nie było wyraźnego wspólnego standardu dla różnych środowisk wykonawczych. Staraliśmy się uwzględnić najlepsze elementy istniejących interfejsów API i propozycji, i zamierzamy wnieść swój wkład w przyszłe standardy".

Jesienią ubiegłego roku Cloudflare, Vercel i Shopify utworzyły WinterCG, nową grupę społecznościową zajmującą się tworzeniem interoperacyjnych implementacji standardowych internetowych interfejsów API w środowiskach programistycznych innych niż przeglądarki internetowe i JavaScript.

Dostęp do najnowszego API można uzyskać poprzez zaimportowanie funkcji connect z cloudflare:sockets. Chociaż sterownik bazy danych JavaScript dla PostgreSQL, pg, już obsługuje nowe API, sterowniki MySQL - mysql i mysql2 - jeszcze go nie obsługują. Irvine-Broque i Silverlock ostrzegają, że:

Dla każdego żądania tworzone jest nowe połączenie. Jest to jedno z największych obecnych wyzwań związanych z łączeniem się z bazami danych z funkcji bezserwerowych, na wszystkich platformach (...) pracujemy już nad prostszymi podejściami do łączenia się z najpopularniejszymi bazami danych.

Cloudflare przewiduje wprowadzenie w przyszłości dodatkowych funkcji, takich jak obsługa połączeń przychodzących TCP i UDP, o które prosili deweloperzy, wraz z protokołami aplikacji opartymi na QUIC.

Wprowadzenie interfejsu API connect() towarzyszy kilku innym ekscytującym ogłoszeniom podczas Tygodnia Deweloperów 2023. Obejmują one uruchomienie Secrets Store do bezpiecznego zarządzania sekretami aplikacji, ulepszenia D1 (bezserwerowej bazy danych Cloudflare) oraz współbieżność konsumentów dla usługi przesyłania wiadomości Queues. Ponadto Cloudflare zaprezentował integracje baz danych dla Neon, PlanetScale i Supabase on Workers.

Każde otwarte gniazdo TCP przyczynia się do maksymalnej liczby otwartych połączeń, które Workers może utrzymywać jednocześnie. Należy pamiętać, że tworzenie połączeń TCP na porcie 25 w celu wysyłania wiadomości e-mail do serwerów pocztowych SMTP nadal nie jest możliwe.

Ponieważ platformy bez kodu i z niskim kodem, takie jak AppMaster, nadal ewoluują, wprowadzenie funkcji takich jak connect() API jeszcze bardziej poprawi krajobraz rozwoju poprzez usprawnienie połączeń i stworzenie nowych możliwości dla programistów.

Easy to start
Create something amazing

Experiment with AppMaster with free plan.
When you will be ready you can choose the proper subscription.

Get Started