万亿流量转发引擎BFE开源,技术派百度再次秀肌肉

国内开源圈里刚刚发生了两个标志性的事件。

一是曾在2019年春晚红包中扛住超大用户压力、数次流量波峰的转发引擎——百度的统一七层流量转发平台BFE,在内部演化了七个年头后,将以开源的形式帮助开发者们构建属于自己的全局负载均衡系统。在业界掀起了巨大的声浪。

二是KE meng在知乎回答中晒出了自己写的“狗屁不通文章生成器”,意外受到了无数网友的“爱戴”,纷纷好奇这个富有灵魂的“生成器”可以制造出什么样的魔幻主义大作。短短一周的时间,该项目便冲上了GitHub趋势榜榜首。

发生在同一时间点的两起事件,无疑揭示了中国开源文化的两个侧面:我们从不缺少令人称道的“民间高手”,但大众对开源的认知仍局限在浅显的名词上,还要娱乐化来吸引关注;我们并不缺少百度这样在开源世界里的标杆企业,但“开源贡献主要来源于外国科技巨头”的偏见仍然屡见不鲜。

归根结底,“开源”虽然是当前互联网行业的共识,但中国相比欧美巨头,在业界的眼中依然是一个“后来者”的姿态,潜力尚待挖掘。原因固然有主观意识上的偏见,但更深层次的诱因在于评判的标尺,我们已经习惯按照市值论资排辈,技术能力几乎视而不见,对开源社区的贡献也鲜有提及。

想要走出这样的认知误区,还要从“工程师文化”开始说起。

“工程师文化”的秘密

百度之所以走开源世界里收关注,并非是一个偶然事件。暂不谈别的,仅在万亿流量转发引擎BFE的开源,一个技术团队默默坚持7年的心路历程,就能让我们有机会认识了百度工程师文化的精神内核。

2012年百度BFE团队正式创建,定位是搭建统一的七层流量转发平台,应用场景包括流量的接入和转发、流量全局调度、安全和防攻击、实时数据分析等等。回头来看,BFE团队的成果不无丰硕,但过程中也冒着失败的风险。

特别是在2014年初,团队开始对BFE进行重构,最大的争议点就在于是否要基于新兴的Go语言来编写。彼时Golang的普及程度并不高,不少人还站在Golang的大门外,但BFE团队相信Golang将成为互联网创业公司的必备利器,凭借对编程语言和系统知识的了解,硬着头皮拍了板。

事实证明Go语言是一个正确的选择,与业界普遍使用的Nginx相比,BFE有着更高的研发效率,特别是Go语言没有C语言固有的缓冲区溢出隐患,规避了大量的稳定性漏洞和安全风险,同时对于异常可以捕捉,保证程序在快速迭代上线的情况下也不崩溃。

从长远的趋势来看,硬件资源的价格正在逐渐降低,开发人力成本、项目研发风险、系统稳定性在决策中的权重会进一步提升,基于C语言的Nginx势必会走向衰落,而BFE等基于更高级编程语言的开源软件将逐步成为主流。

值得一提的是,一位亲历BFE起步到开源过程的工程师,在BFE开源后写下了一段意味深长的话:

“无论外人如何评说,我必须要说,到目前为止,我仍然坚定的认为,百度是中国最适合做技术的公司。百度给了工程师最大的尊重和自由,也愿意为了技术研发承担最大的风险。BFE团队的另一个项目GTC(全局流量调度),前后研发了5年时间。曾经有一个朋友告诉我,也就只有百度可以给这么多时间,在其它公司1年做不出来就cancel了。”

或许这就是工程师文化的秘密,一家企业的技术底色不在于招了多少程序员,不在于网罗了多少技术大牛,甚至不在于每年有多少钱投入到研发中,而是愿不愿意放权给一线的技术负责人,愿不愿意承担技术研发的风险,有没有科学而系统的方法论,有没有重视过程而非结果的价值观。

至于为何要将历经多次大流量洗礼的BFE开源贡献社区?因为这才是技术价值体现的重要方式,百度和百度的工程师们笃信于此。

为什么需要重视开源?

有百度这样工程师文化绽放的公司,可以说是中国互联网之幸,如果只有百度一家相信开源力量的企业,无疑会是中国最大的悲哀。

站在全人类的立场上,如果没有开源运动,没有Linux、GCC、Android、浏览器…….整个互联网世界将不复存在,软件和工具被少数几家企业牢牢控制在手中,人们的生活仍然会像20世纪之前那样“枯燥无味”。

站在中国企业的立场上,当人口红利的消失成为既定事实,历史的车轮驶向产业互联网,开源恰恰是争夺的下一个制高点。“一流企业定标准、二流企业做品牌、三流企业做产品”,朴实而简单的道理影响着互联网世界里的每一家企业,想要在未来的商业博弈中掌握话语权,就要让自己的产品被更多人使用,不断加速产品研发的速度,积极参与技术标准的制定,开源不失为一条“捷径”。

人工智能就是一个例子。

根据科技部发布的《中国新一代人工智能发展报告2019》,中国已经是全球AI专利数量最多的国家,呈现出了中美双寡头竞争的格局。可细究一下的话,中国的AI专利主要集中在应用层面,AI基础技术的核心力量仍然在美国企业手中。原因不无直接,倘若中国的人工智能创业者只知道在TensorFlow、PyTorch等框架上“缝缝补补”,专利申请自然会向应用层倾斜。

然而开源社区和开源软件的中立终究都是相对的,有如谷歌重金加持的全球第二大开源代码托管平台GitLab,在最近的一份公开声明中直言不会给中国、俄罗斯公民提供offer,那些有权限访问客户数据的员工,现在也不能移居到中国或俄罗斯。如果中国没有自己的开源力量,终究无法摆脱受制于人的魔咒。

同时BFE又证明了另一个道理,尽管历史上很多优秀的开源软件都出自“外国人”之手,但中国的开源力量并非没有弯道超车的可能。

不只是比Nginx使用了更高级的编程语言,BFE在设计中特别增加了对企业级应用场景的优化。比如与Nginx从Web Server转型为Proxy的进化路径不同,BFE直接为转发场景设计,从转发模型和转发配置方面更满足转发场景的需求;针对云计算场景下多租户复用的需求,BFE在设计中内置提供了多租户的支持;考虑到线上监控的需求,BFE通过HTTP方式向外暴露数千个内部状态变量......

除了BFE之外,百度在AI领域不乏顶级开源项目:中国唯一的功能完备的开源深度学习平台飞桨;全球首个自动驾驶开源项目;中国首个开源的边缘计算框架BAETYL……

当百度等技术派在开源世界中竖起大旗,当越来越多企业开始意识到开源技术的必要性,在中国程序员绝对的数量优势下,让外界看到开源世界里的中国力量,需要的可能只是时间上的发酵。

写在最后

每每谈到中国在开源世界里的定位时,总是有人以重复造轮子为由辩驳,百度BFE团队的工程师们再次证明了这样一个道理:技术迭代的浪潮从未停歇,每一个新的历史时期都需要新的轮子出现。

何况商业和技术本就有着辩证的关系,也许搬运和拿来主义可以在短时间内低成本获取巨大的收益,可当红利消失的时候,技术又屡屡被证实是最可靠的驱动引擎,二者没有孰优孰劣之分,却有着短期和长期的差别。

即便是从自身利益的角度出发,中国的互联网企业也需要像百度这样,打造适合做技术的土壤,给工程师最大的开放和自由,让程序员们愿意花时间做开源项目、维护开源项目,在开源世界里占据一席之地。

极客网企业会员

免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。

2019-11-19
万亿流量转发引擎BFE开源,技术派百度再次秀肌肉
国内开源圈里刚刚发生了两个标志性的事件。一是曾在2019年春晚红包中扛住超大用户压力、数次流量波峰的转发引擎——百度的统一七层流量转发平台BFE,在内部演化了七个年头后,将以开源的形式帮助开发者们构建属于自己的全局负载均衡系统。在业界掀起了巨大的声浪。

长按扫码 阅读全文