Facebook 开源 Proxygen HTTP 框架和服务器

下一篇文章

酒类推荐应用 Next Glass:分析酒类成分进行个性化推荐

Facebook 今天 宣布 将开源内部使用的 Proxygen,这是一套包含了一个 HTTP 服务器的 C++ HTTP 库。Facebook 在最近几个月 开源 了不少项目,其中大部分项目 面向 移动开发者。不过,今天宣布的项目要更为有趣,因为它面向的是更广大的开发者们。

Facebook 在一开始就表示,Proxygen 并不试图取代 Apache 或 Nginx 等流行的 HTTP 和代理服务器。Facebook 工程师 DanielSommermann 和 Alan Frindell 在今天的声明中表示:“这些项目是用 C 编写的,专注于打造极度灵活的 HTTP 服务器,虽然提供了很好的性能,但可配置项目太多。相反,我们专注于打造高性能的 C++ HTTP 框架,搭配合理的默认配置,同时提供易于集成到现有应用中的服务器和客户端代码。”

Proxygen 框架允许用户快速设置一个事件驱动型服务器来处理 HTTP 和 SPDY 请求。其他项目也很有可能会利用这一代码库来打造自己的网络服务器。

Sommermann 和 Frindell 表示,Proxygen 起源于 2011 年的一个项目,当时该项目是为了编写一个可定制的反向代理负载平衡器。

尽管 Facebook 可以在 HTTP 栈使用 Apache、Nginx 或 Varnish,但 Sommermann 和 Frindell 表示,自己编写框架可以与 Facebook 的现有框架和工具(如 Apache Thrift)进行更深度的整合。

考虑到 Facebook 的规模,该团队也在寻求能在现有解决方案之外扩大规模的解决方案,而且 Facebook 也想在其他工具中复用 Proxygen 框架。Haystack、HHVM 和 Facebook 的负载平衡器也使用了部分 Proxygen 框架。

到现在为止,Proxygen 已经处理了“数万亿 HTTP(S) 和 SPDY 请求”,足见代码的健壮性。点击 这里 可以访问源码,Proxygen 如何运作的深度描述 见此

翻译:1thinc0

Facebook Open Sources Its Proxygen HTTP Framework And Server