Cloudflare가 Pingora HTTP 프록시를 오픈소스로 공개했습니다.


Cloudflare는 내부 인프라에서 오랫동안 Nginx를 사용하고 있었지만 Cloudflare가 점점 커지면서 Nginx의 구조로는 해결되지 않는 한계를 느꼈습니다. Nginx는 워커 구조라서 각 요청이 하나의 워커로 처리되기 때문에 CPU간 불균형이 발생했고 커넥션 풀도 워커마다 할당되어 커넥션에 대한 재사용성이 좋지 않았습니다.


이를 해결하기 위해 다양한 방법을 검토하다가 새로 프록시 서버를 만들기로 결정하고 Rust로 HTTP 라이브러리를 직접 구축해서 멀티 스레딩으로 커넥션 풀을 공유하는 Pingora를 만들게 되었습니다.


2022년부터 Pingora로 교체해서 사용하고 있고 하루에 1조개의 요청을 처리하면서 CPU와 메모리가 Nginx 때보다 1/3로 줄었습니다. 또한, TTFB(time-to-first-byte)가 중윗값에서 5ms 줄었고 95 퍼센타일에서 80ms 감소시켰고 새로운 연결도 1/3로 줄었습니다.


2년 정도 내부에서 사용하던 Pingora를 이번에 오픈소스로 공개한 것입니다. Pingora는 HTTP/1, HTTP/2 뿐 아니라 gRPC, WebSocket 프록시도 지원하고 있고 Pingora 기반으로 서비스를 구축할 수 있도록 라이브러리와 API도 제공하고 있습니다.


https://blog.cloudflare.com/pingora-open-source

Open sourcing Pingora: our Rust framework for building programmable network services

The Cloudflare Blog

Open sourcing Pingora: our Rust framework for building programmable network services

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 3월 15일 오후 3:14

 • 

저장 31조회 6,149

댓글 0