Trabalhadores da Cloudflare introduzem a API connect() para criar soquetes TCP
Notícias da página inicial do InfoQ Trabalhadores da Cloudflare introduzem a API connect() para criar soquetes TCP
28 de maio de 2023 2 minutos de leitura
por
Renato Losio
Durante a recente semana do desenvolvedor, a Cloudflare anunciou uma Worker API para criar soquetes TCP de saída. A nova API de soquete permite que os desenvolvedores se conectem de volta à infra baseada em TCP diretamente de um Worker, incluindo bancos de dados.
Disponível como uma API de tempo de execução, a função connect() retorna um soquete TCP que permite aos desenvolvedores ler e gravar dados até que a conexão permaneça aberta. Os trabalhadores já podiam interagir com endpoints HTTP e outros serviços da Cloudflare, mas a grande maioria dos bancos de dados exige que os clientes se conectem abrindo um soquete TCP direto. Brendan Irvine-Broque, gerente de produto da Cloudflare, e Matt Silverlock, diretor de produto da Cloudflare, explicam:
Com o Workers, pretendemos oferecer suporte a APIs padrão compatíveis com navegadores e ambientes sem navegador sempre que possível, (...) Tentamos incorporar os melhores elementos de APIs e propostas existentes e pretendemos contribuir com padrões futuros.
No outono passado, a Cloudflare, juntamente com a Vercel e a Shopify, iniciou o WinterCG, um novo grupo comunitário, focado na implementação interoperável de APIs da web padronizadas em ambientes de desenvolvimento não baseados em navegador da web e baseados em javaScript.
A nova API é acessada importando a função de conexão de cloudflare:sockets. Um dos casos de uso comuns é criar uma conexão com um banco de dados, por exemplo:
Fonte: https://blog.cloudflare.com/workers-tcp-socket-api-connect-databases/
Enquanto pg, o driver de banco de dados JavaScript para PostgreSQL, já é suportado, os drivers MySQL mysql e mysql2 ainda não são suportados. Irvine-Broque e Matt Silverlock advertem:
Uma nova conexão é criada para cada solicitação. Este é um dos maiores desafios atuais de conectar-se a bancos de dados a partir de funções sem servidor, em todas as plataformas (...) já estamos trabalhando em abordagens mais simples para pooling de conexões para os bancos de dados mais populares.
A rede de entrega de conteúdo espera adicionar mais recursos no futuro, incluindo suporte para conexões TCP e UDP de entrada, conforme solicitado por alguns desenvolvedores, bem como protocolos de aplicativos baseados em QUIC.
A API connect() não foi o único novo recurso anunciado durante a Developer Week 2023: a Cloudflare introduziu o Secrets Store, uma solução para gerenciar segredos de aplicativos com segurança, melhorias no D1, banco de dados sem servidor da Cloudflare e simultaneidade do consumidor para o serviço de mensagens Filas. Além disso, a Cloudflare anunciou integrações de banco de dados para Neon, PlanetScale e Supabase on Workers. Karl Horky, fundador da UpLeveled, twitta:
Nenhum proxy como Neon ou outros provedores serverless/edge, você apenas se conecta normalmente por TCP. Isso parece ótimo, potencialmente muito maior do que os outros anúncios recentes de banco de dados de ponta.
Cada soquete TCP aberto conta para o número máximo de conexões abertas que podem ser abertas simultaneamente em Trabalhadores e as conexões TCP não podem ser criadas na porta 25 para enviar e-mail para servidores de e-mail SMTP.
Migre facilmente para a nuvem e inove incrivelmente rápido com Kalix! Crie microsserviços e APIs de alto desempenho, NoOps necessários. Saber mais.
Escrever para o InfoQ abriu muitas portas e aumentou as oportunidades de carreira para mim. Pude me envolver profundamente com especialistas e líderes de pensamento para aprender mais sobre os tópicos que abordei. E também posso divulgar meus aprendizados para a comunidade tecnológica mais ampla e entender como as tecnologias são usadas no mundo real.
Descobri o programa de contribuidores do InfoQ no início deste ano e tenho gostado desde então! Além de me fornecer uma plataforma para compartilhar aprendizado com uma comunidade global de desenvolvedores de software, o sistema de revisão ponto a ponto do InfoQ melhorou significativamente minha escrita