Sortie de Pingora 0.6, un framework pour la création de services réseau

L'entreprise Cloudflare a publiĂ© la version 0.6 du framework Pingora, destinĂ© au dĂ©veloppement de services rĂ©seau sĂ©curisĂ©s et Ă  hautes performances en langage Rust. DĂ©ployĂ© avec Pingora, le proxy est utilisĂ© depuis plus de deux ans dans le rĂ©seau de distribution de contenu Cloudflare, Ă  la place de nginx, et traite plus de 40 millions de requĂȘtes par seconde. Le code est Ă©crit en langage Rust et est publiĂ© sous la licence Apache 2.0.

Fonctionnalités principales de Pingora :

  • Prise en charge de HTTP/1 et HTTP/2 (HTTP/3 prĂ©vu), ainsi que la possibilitĂ© de crĂ©er des services utilisant leurs propres protocoles ou UDP/TCP.
  • Prise en charge du traitement multithreading des requĂȘtes en mode asynchrone.
  • PossibilitĂ© d'attacher des gestionnaires de rappel et des filtres, permettant de gĂ©rer diffĂ©rentes Ă©tapes du traitement de la requĂȘte ainsi que de modifier, rediriger, bloquer et journaliser les requĂȘtes et les rĂ©ponses.
  • Proxy gRPC et WebSocket.
  • Load balancers plugables.
  • PossibilitĂ© de modification de la configuration sans redĂ©marrage.
  • Support de mise Ă  jour du code de l'application sans interruption des connexions.
  • Outils pour le basculement en cas de dĂ©faillance.
  • IntĂ©gration avec diffĂ©rents systĂšmes de surveillance et de journalisation (Syslog, Prometheus, Sentry, OpenTelemetry).
  • Prise en charge du chiffrement TLS (utilise OpenSSL, BoringSSL ou Rustls).
  • Paquets Rust prĂȘts Ă  l'emploi pour crĂ©er des proxy HTTP, travailler avec des protocoles rĂ©seau, analyser des en-tĂȘtes HTTP, comptabiliser et limiter le trafic, Ă©quilibrer la charge, gĂ©rer une table de hachage distribuĂ©e Ketama, maintenir un cache en mĂ©moire et traiter les dĂ©lais d'attente de maniĂšre asynchrone.

Parmi les changements dans la nouvelle version :

  • Lors de l'arrĂȘt, la sauvegarde des noms des composants runtime dans le journal a Ă©tĂ© assurĂ©e pour faciliter le diagnostic des problĂšmes causĂ©s par l'absence de composants runtime, entraĂźnant des retards lors de l'arrĂȘt.
  • Le suivi des phases d'exĂ©cution a Ă©tĂ© activĂ© de serveurs, les informations qui peuvent ĂȘtre utiles pour la surveillance ou pour assurer la tolĂ©rance de panne. Lors du changement de phase d'exĂ©cution, un message ExecutionPhase est gĂ©nĂ©rĂ©, et peut ĂȘtre interceptĂ© via l'API Server::watch_execution_phase.
  • Le placement en mĂ©moire de dictionnaires compressĂ©s est autorisĂ©.
  • Dans l'implĂ©mentation du serveur http et du proxy http, les directives HttpServerOptions et H2Options ont Ă©tĂ© ajoutĂ©es.
  • Une protection contre l'attaque MadeYouReset a Ă©tĂ© mise en place, permettant de provoquer une indisponibilitĂ© Ă  travers la manipulation des frames de contrĂŽle HTTP/2.

Source : opennet.ru

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster