序
从2014年4月写下 Go语言版本 BFE的第一行代码起,7年多的时间过去了。从2015年1月 Go语言版本 BFE全量上线开始,BFE至今已经在百度稳定运行了6年多的时间,每天转发请求超过万亿次。
BFE(Baidu Front End,百度统一前端)是百度统一七层流量转发平台,当你访问百度的时候,很可能已经在使用 BFE的服务了。
百度的 BFE团队始建于2012年。当2012年年底我加入百度的时候,整个团队只有6~7个人。这个团队的创始人是夏华夏同学(现在在美团),他为 BFE团队的工作方向做了奠基性规划。BFE初期的转发引擎是基于 C语言的,听说是杨震原同学(现在在头条)的大作。
2014年年初,基于各种考虑,我们决定对转发引擎进行重构。这次重构前后花费了3个季度,投入了超过30个人月的资源。在面对多次失败的风险后,Go语言版本的 BFE终于出炉了。
这里必须感谢部门领导李硕和团队经理贺锋的大力支持,感谢管理层的高度信任;感谢直接参与的几位同学(李炳毅、魏为、杨思杰、陶春华等),大家都是冒着失败离职的风险,硬着头皮把这个项目做下来的。
我必须要感谢百度。到目前为止,我仍然坚定地认为,百度是中国最适合做技术的公司。百度给了工程师最大的尊重和自由,也愿意为了技术研发承担最大的风险。BFE团队的另一个项目 GTC(全局流量调度),前后研发了5年时间。曾经有一个朋友告诉我,也就只有百度可以给团队这么多的时间,如果在其他公司,一年内做不出来,项目很可能就被取消了。能够在百度、在中国做全球最领先的技术,我感到无比骄傲。
2019年7月,BFE的转发引擎对外开源。项目名称仍保留英文缩写BFE,英文全称更名为 Beyond Front End(中文意为“超越前端”)。我们希望通过 BFE的开源推动负载均衡技术的发展。
从开源的那天起,BFE就已经开始了新的征程。BFE得到了各方的广泛关注,有不少新增的功能是由百度之外的开发者贡献的。BFE也被一些客户选择用于关键的业务场景,在度小满金融、央视网、招商银行等处都有 BFE的身影。作为一个做技术的人,能够让自己所做的工作为社会创造价值,这是莫大的幸福和荣幸。
在 BFE开源后,我们不断地收到大家提出的一些问题。网络负载均衡本身是一个比较专业和复杂的技术方向;BFE是为面向工业级使用场景而设计的,在模型和机制上和其他同类软件相比,会更加复杂。以上这些因素让一些使用者和开发者在理解 BFE的机制方面遇到了困难。希望通过《万亿级流量转发:BFE核心技术与实现》这本书,能够帮助读者更好地了解网络负载均衡的相关技术,让读者更容易地理解 BFE的设计机制和使用方法。
BFE项目,是一群技术人的汗水、梦想和追求。
BFE开源,是为了交流、共享,为全中国、全世界的同行赋能。
感谢各位读者的关注,欢迎大家使用 BFE开源项目,并提出反馈或参与开发!
章淼 博士
百度 BFE团队技术负责人、百度代码规范委员会主席
2021年6月25日写于百度