페이스북, 오픈소스 HTTP 라이브러리 ‘프록시젠’ 공개

가 +
가 -

페이스북이 오픈소스 프레임워크 ‘프록시젠’을 11월5일 공개했다. 프록시젠은 C++기반 HTTP 라이브러리로, 인터넷 통신 속도를 높이는 프레임워크 기술이다. 이는 최근 통신 프로토콜에서 주목받는 SPDY/3과 SPDY/3.1을 지원하고 있으며, 조만간 HTTP/2도 통합할 예정이다.

Proxysen_03

페이스북은 11월5일 공식블로그를 통해 “기존 기술들은 대부분 C언어 기반에 유연한 HTTP를 만드는 게 목적”이라며 “프록시젠은 이보다 성능에 더 초점을 맞추었다”라고 설명했다. 또한 “서버와 클라이언트 측면 모두 고려한 기술이자 기존 애플리케이션을 쉽게 통할 수 있다”라며 “높은 성능을 내고 싶은 C++ HTTP 서비스에 유용할 것”이라고 덧붙였다. 프록시젠과 비슷한 기술로는 아파치, 엔진X, HA프록시, 바니시 등이 있다.

과거 C++기반 프로그램을 웹에서 활용할 때는 CGI(Common Gateway Interface) 같은 외부 웹서버 모듈을 이용했다. 이때 속도나 성능이 저하되는 문제점이 있곤 했는데, 프록시젠은 이를 외부가 아닌 HTTP 내부에서 바로 통신할 수 있도록 지원해 해결하고자 했다.

블레이크 매트니 페이스북 엔지니어 디렉터는 11월5일 <컴퓨터월드> 보도에서 “CGI를 통해 애플리케이션을 호출하는 것보다 훨씬 빠르게 내부 애플리케이션을 불러올 수 있을 것”이라며 “이 때 코드 몇 줄만 추가해서 프록시젠을 이용할 수 있다”라고 설명했다.

Proxysen_01

▲ 프록시젠 구조 (출처 : 프록시젠 깃허브 페이지 링크)

Proxysen_02

▲페이스북은 32 코어 CPU 기반 서버에 리퀘스트 처리해 프록시젠 성능을 측정했다. (출처:페이스북 블로그 링크)

페이스북은 프록시젠 프로젝트를 2011년부터 내부적으로 시작했으며, 이번에 처음으로 오픈소스로 공개하고 외부 개발자들과 함께 기술 완성도를 높여나갈 예정이다. 페이스북은 또한 이미 공개한 ‘트리프트’, ‘폴리’ 등과 함께 사용하도록 통합 지원하고 있다.

블레이크 매트니 디렉터는 “C++에 익숙치 않은 개발자라 할지라도, HTTP/2같은 최신 인터넷 프로토콜에 관심 있다면 프록시젠을 살펴보라”라고 조언했다. 프록시젠 소스코드는 깃허브에 올라와 있으며, 누구나 내려받아 사용할 수 있다.

구글, MS 등도 최근 HTTP/2와 같은 차세대 인터넷 프로토콜에 대한 연구와 지원을 활발히 하고 있다. 특히 구글이 SPDY를 만든 이후, 프로토콜에 대한 관심이 높아지고 있다. 페이스북도 이러한 움직임에 가세해 새로운 통신 프로토콜 기술을 적극적으로 지원할 것으로 보인다.