Cloudflare Workers présente l'API connect() pour créer des sockets TCP
Accueil InfoQ Actualités Cloudflare Workers présente l'API connect() pour créer des sockets TCP
28 mai 2023 2 minutes de lecture
par
Renato Losio
Au cours de la récente semaine des développeurs, Cloudflare a annoncé une API Worker pour créer des sockets TCP sortants. La nouvelle API de socket permet aux développeurs de se reconnecter à l'infra basée sur TCP directement à partir d'un Worker, y compris les bases de données.
Disponible en tant qu'API Runtime, la fonction connect() renvoie un socket TCP qui permet aux développeurs de lire et d'écrire des données jusqu'à ce que la connexion reste ouverte. Les travailleurs pouvaient déjà interagir avec les points de terminaison HTTP et d'autres services Cloudflare, mais la grande majorité des bases de données exigent que les clients se connectent en ouvrant un socket TCP direct. Brendan Irvine-Broque, chef de produit chez Cloudflare, et Matt Silverlock, directeur de produit chez Cloudflare, expliquent :
Avec Workers, nous visons à prendre en charge les API standard qui sont prises en charge par les navigateurs et les environnements non-navigateurs dans la mesure du possible, (...) mais pour les sockets TCP, nous avons été confrontés à un défi : il n'y avait pas de standard partagé clair entre les runtimes. Nous avons essayé d'incorporer les meilleurs éléments des API et des propositions existantes, et avons l'intention de contribuer aux futures normes.
L'automne dernier, Cloudflare, en collaboration avec Vercel et Shopify, a lancé WinterCG, un nouveau groupe communautaire, axé sur la mise en œuvre interopérable d'API Web standardisées dans des environnements de développement non basés sur des navigateurs Web et JavaScript.
La nouvelle API est accessible en important la fonction connect depuis cloudflare:sockets. L'un des cas d'utilisation courants consiste à créer une connexion à une base de données, par exemple :
Source : https://blog.cloudflare.com/workers-tcp-socket-api-connect-databases/
Alors que pg, le pilote de base de données JavaScript pour PostgreSQL, est déjà pris en charge, les pilotes MySQL mysql et mysql2 ne sont pas encore pris en charge. Irvine-Broque et Matt Silverlock avertissent :
Une nouvelle connexion est créée pour chaque requête. C'est l'un des plus grands défis actuels de se connecter aux bases de données à partir de fonctions sans serveur, sur toutes les plateformes (...) nous travaillons déjà sur des approches plus simples de regroupement de connexions pour les bases de données les plus populaires.
Le réseau de diffusion de contenu prévoit d'ajouter plus de fonctionnalités à l'avenir, notamment la prise en charge des connexions TCP et UDP entrantes, comme l'ont demandé certains développeurs, ainsi que des protocoles d'application basés sur QUIC.
L'API connect() n'était pas la seule nouvelle fonctionnalité annoncée lors de la Developer Week 2023 : Cloudflare a introduit Secrets Store, une solution de gestion sécurisée des secrets d'application, des améliorations de D1, la base de données sans serveur de Cloudflare et la simultanéité des consommateurs pour les files d'attente du service de messagerie. De plus, Cloudflare a annoncé des intégrations de bases de données pour Neon, PlanetScale et Supabase sur Workers. Karl Horky, fondateur d'UpLeveled, tweete :
Pas de proxy comme Neon ou d'autres fournisseurs sans serveur/edge, vous vous connectez simplement normalement via TCP. Cela sonne bien, potentiellement beaucoup plus important que les autres annonces récentes de bases de données Edge.
Chaque socket TCP ouvert compte dans le nombre maximum de connexions ouvertes qui peuvent être ouvertes simultanément dans Workers et les connexions TCP ne peuvent pas être créées sur le port 25 pour envoyer des e-mails aux serveurs de messagerie SMTP.
ScyllaDB est la base de données pour les applications gourmandes en données nécessitant un haut débit + une faible latence. Atteignez une échelle extrême avec le coût total de possession le plus bas. Apprendre encore plus.
Écrire pour InfoQ a ouvert de nombreuses portes et augmenté les opportunités de carrière pour moi. J'ai pu m'engager profondément avec des experts et des leaders d'opinion pour en savoir plus sur les sujets que j'ai abordés. Et je peux également diffuser mes apprentissages à la communauté technologique au sens large et comprendre comment les technologies sont utilisées dans le monde réel.
J'ai découvert le programme de contributeur d'InfoQ plus tôt cette année et je l'apprécie depuis ! En plus de me fournir une plate-forme pour partager l'apprentissage avec une communauté mondiale de développeurs de logiciels, le système d'évaluation par les pairs d'InfoQ a considérablement amélioré mon écriture . Si vous cherchez un endroit pour partager votre expertise logicielle, commencez à contribuer à InfoQ.
J'ai commencé à écrire des nouvelles pour la file d'attente InfoQ .NET afin de me tenir au courant de la technologie, mais j'en ai retiré tellement plus. J'ai rencontré des gens compétents, obtenu une visibilité mondiale et amélioré mes compétences en écriture.
Devenir éditeur pour InfoQ a été l'une des meilleures décisions de ma carrière . Cela m'a mis au défi et m'a aidé à grandir de tant de façons . Nous aimerions avoir plus de monderejoins notre équipe.
InfoQ recherche un rédacteur en chef à temps plein pour rejoindre l'équipe internationale et toujours distante de C4Media. Rejoignez-nous pour couvrir les technologies les plus innovantes de notre époque, collaborer avec les praticiens du logiciel les plus brillants au monde et aider plus de 1,6 million d'équipes de développement à adopter de nouvelles technologies et pratiques qui repoussent les limites de ce que les logiciels et les équipes peuvent offrir !
Un résumé du contenu de la semaine dernière sur InfoQ envoyé tous les mardis. Rejoignez une communauté de plus de 250 000 développeurs seniors. Voir un exemple
Nous protégeons votre vie privée.
Vous devez enregistrer un compte InfoQ ou vous connecter ou vous connecter pour publier des commentaires. Mais il y a tellement plus derrière l'inscription.
Tirez le meilleur parti de l'expérience InfoQ.
HTML autorisé : a,b,br,blockquote,i,li,pre,u,ul,p
HTML autorisé : a,b,br,blockquote,i,li,pre,u,ul,p
HTML autorisé : a,b,br,blockquote,i,li,pre,u,ul,p
Rejoignez une communauté d'experts. Renato Losio a ouvert de nombreuses portes et augmenté les opportunités de carrière Vivian Hu Le système d'évaluation par les pairs d'InfoQ a considérablement amélioré mon écriture Oghenevwede Emeni a obtenu une visibilité mondiale et amélioré mes compétences en écriture Edin Kapić Les meilleures décisions de ma carrière m'ont aidé à grandir à bien des égards rejoignez notre équipe Thomas Betts Rédacteur en chef à plein temps L'InfoQ Tirez le meilleur parti de l'expérience InfoQ.