در 5 آوریل 2024، Cloudflare اولین نسخه عمومی پروژه متن باز Pingora v0.1.0 (از قبل نسخه 0.1.1) را ارائه کرد. این یک چارچوب چند رشته ای ناهمزمان در Rust است که به ایجاد سرویس های پراکسی HTTP کمک می کند. این پروژه برای ایجاد سرویس هایی استفاده می شود که بخش قابل توجهی از ترافیک را به Cloudflare (به جای استفاده از Nginx) ارائه می دهد. کد منبع Pingora در GitHub تحت مجوز Apache 2.0 منتشر شده است.
Pingora کتابخانه ها و API هایی را برای ایجاد خدمات از طریق HTTP/1 و HTTP/2، TLS یا به سادگی TCP/UDP فراهم می کند. به عنوان یک پروکسی، از پروکسی سرتاسر HTTP/1 و HTTP/2، gRPC و WebSocket پشتیبانی می کند. پشتیبانی از HTTP/3 در برنامه است. Pingora همچنین شامل تعادل بار قابل تنظیم و استراتژی های failover است. برای اطمینان از انطباق و امنیت، از هر دو کتابخانه پرکاربرد OpenSSL و BoringSSL پشتیبانی می کند که مطابق با FIPS (استانداردهای پردازش اطلاعات فدرال ایالات متحده) و رمزگذاری پس کوانتومی هستند.
علاوه بر این ویژگیها، Pingora فیلترها و تماسهایی را ارائه میکند که به کاربران اجازه میدهد تا به طور کامل نحوه پردازش، تبدیل و ارسال درخواستها را سفارشی کنند.
در حالت تولید، Pingora یک راهاندازی مجدد نرم و بدون زمان خرابی برای بهروزرسانی خود بدون از دست دادن درخواستهای دریافتی فراهم میکند. Syslog، Prometheus، Sentry، OpenTelemetry و سایر ابزارهای نظارتی ضروری به طور یکپارچه با Pingora ادغام می شوند.
ویژگیهای پینگورا: استفاده از Async Rust، پشتیبانی از پروکسی HTTP 1/2، TLS از طریق OpenSSL یا BoringSSL، پروکسی gRPC و websocket، بارگذاری مجدد زیبا، تعادل بار قابل تنظیم و استراتژیهای failover، پشتیبانی از ابزارهای نظارتی مختلف.
Pingora نسخه 0.1.1 اشکالات کشف شده قبلی را برطرف می کند، عملکرد الگوریتم pingora-ketama را بهبود می بخشد، معیارها و تست های TinyUFO بیشتری را برای پاکسازی pingora-cache اضافه می کند، اندازه بافر را برای گزارش های خطای InvalidHTTPHeader محدود می کند و همچنین اشتباهات تایپی را برطرف می کند و اصلاحات لازم را در نظرات انجام می دهد. و پروژه مستندسازی
منبع: linux.org.ru