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

La société Cloudflare a publié la deuxième version du framework Pingora, conçu pour développer des services réseau sécurisés et haute performance en Rust. Le proxy construit à l'aide de Pingora est utilisé depuis environ un an dans le réseau de distribution de contenu de Cloudflare à la place de nginx et traite plus de 40 millions de demandes par seconde. Le code est écrit en Rust et publié sous la licence Apache 2.0.

Fonctionnalités principales de Pingora :

  • Support de HTTP/1 et HTTP/2 (support de HTTP/3 prévu), ainsi que la possibilité de créer des services utilisant leurs propres protocoles ou UDP/TCP.
  • Capacité de traitement multithread des requêtes en mode asynchrone.
  • Support de l'attachement de gestionnaires de callback et de filtres, permettant de contrôler différentes étapes du traitement de la requête, ainsi que de modifier, rediriger, bloquer et journaliser les requêtes et 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).
  • Support du chiffrement TLS (utilise OpenSSL ou BoringSSL).
  • 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 :

  • Ajout de la prise en charge de l'installation de filtres pour des en-têtes additionnels HTTP/2.
  • Ajout de la possibilité de modifier la taille du tampon des paquets entrants pour TCP.
  • Ajout de la fonction body_bytes_read().
  • Ajout d'un filtre cache_not_modified_filter.
  • Ajout de la possibilité de consigner les clés TLS.
  • Ajout d'une fonction de rappel purge_response.

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