
در 5 آوریل 2024، Cloudflare اولین نسخه عمومی پروژه متن باز Pingora v0.1.0 (از قبل نسخه 0.1.1) را ارائه کرد. این یک چارچوب چند رشته ای ناهمزمان در Rust است که به ایجاد سرویس های پراکسی HTTP کمک می کند. این پروژه برای ایجاد سرویس هایی استفاده می شود که بخش قابل توجهی از ترافیک را به Cloudflare (به جای استفاده از Nginx) ارائه می دهد. کد منبع Pingora در GitHub تحت مجوز Apache 2.0 منتشر شده است.
پینگورا کتابخانهها و APIهایی را برای ایجاد سرویسها بر روی HTTP/1 و HTTP/2، TLS یا به طور ساده TCP/UDP فراهم میکند. به عنوان یک پروکسیسرور این برنامه از پروکسی سرتاسری HTTP/1 و HTTP/2، gRPC و WebSocket پشتیبانی میکند. پشتیبانی از HTTP/3 نیز در برنامه قرار دارد. پینگورا همچنین شامل استراتژیهای متعادلسازی بار و 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
