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.