Cloudflare có giải pháp mới thay thế Nginx với ngôn ngữ Rust và tạo ra Pingora

Cloudflare từ lâu đã dựa vào Nginx như một phần của ngăn xếp proxy HTTP của mình nhưng giờ đã thay thế nó bằng phần mềm Pingora do Rust viết trong nhà của họ, được cho là đang phục vụ hơn một nghìn tỷ yêu cầu mỗi ngày và mang lại hiệu suất tốt hơn trong khi chỉ sử dụng khoảng một một phần ba tài nguyên CPU và bộ nhớ.

Cloudflare đã "phát triển vượt trội" Nginx và cuối cùng đã tạo ra ngăn xếp proxy HTTP của riêng họ. Cloudflare nhận thấy rằng kiến ​​trúc quy trình công nhân của Nginx đang gặp phải những hạn chế, đặc biệt là xung quanh tài nguyên CPU. Nginx cũng tỏ ra khó mở rộng theo nhu cầu của họ.

Các kỹ sư của Cloudflare đã và đang phát triển Pingora từ đầu như một giải pháp nội bộ. Ngôn ngữ lập trình Rust được chọn vì tính an toàn cho bộ nhớ trong khi vẫn mang lại hiệu suất giống như C. Cloudflare cũng triển khai thư viện HTTP của riêng họ cho Rust để phù hợp với tất cả các nhu cầu khác nhau của họ. Pingora sử dụng kiến ​​trúc đa luồng thay vì đa quy trình.

 

Sơ đồ Nginx

 

Sơ đồ Cloudflare Pingora.

Đối với các lợi ích về hiệu suất với Pingora:
Trong quá trình sản xuất, Pingora tiêu thụ ít hơn khoảng 70% CPU và 67% bộ nhớ so với dịch vụ cũ của chúng tôi với cùng tải lưu lượng.

Ngoài những chiến thắng đáng kinh ngạc, Pingora cũng được coi là an toàn hơn một phần nhờ vào việc sử dụng Rust.

Những người muốn tìm hiểu thêm về dự án Pingora của Cloudflare có thể làm như vậy thông qua blog Cloudflare. Nhược điểm duy nhất là Pingora chưa có nguồn mở - Cloudflare cho biết họ đang tính toán các kế hoạch, nhưng hiện tại proxy HTTP này vẫn chưa được công khai.

Chi tiết tại blog của Cloudflare: https://blog.cloudflare.com/how-we-built-pingora-the-proxy-that-connects-cloudflare-to-the-internet/

Gợi ý

Gợi ý bài viết cùng chủ đề

Cloudflare có giải pháp mới thay thế Nginx với ngôn ngữ Rust và tạo ra Pingora