TEL:
百度万亿流量的转发引擎 BFE 开源了
| 发布时间: 2019-11-25 09:09:45 | 511 次浏览
百度万亿流量的转发引擎 BFE 开源了
BFE百度前端,百度统一前端是百度统一的七层流量转发平台。 
 BFE平台可访问百度的大部分流量,每日转发请求接近1万亿,峰值QPS超过1000万。 
在2019年的百度春节红包活动中,BFE平台在大用户压力和多个流量高峰的压力下平稳运行,确保了春节红包的顺利进行。 
作为全面的流量转发平台,BFE平台集成了以下四个功能:流量访问和转发:支持HTTP,HTTPS,HTTP / 2,QUIC等协议,并支持强大的应用层路由功能流量全局调度:支持
全局流量调度系统由外部网络流量调度和内部网流量调度组成。安全和反攻击:支持黑名单禁止,精细流量限制以及应用程序层防火墙WAF和其他反攻击功能。实时数据分析:支持分钟级超级
高维时间序列报告是BFE平台的核心组件。 BFE转发引擎从2012年开始开发,并在2014年使用Go语言完成了重构。 

由于采用Go语言,与业界常用的Nginx开源软件相比,BFE具有以下优势:高开发效率:Go语言的开发效率远远高于C语言和Lua,并且具有很大的优势在代码可维护性方面。 

系统的安全性和稳定性很高:Go语言没有C语言固有的缓冲区溢出漏洞,避免了大量的稳定性和安全性风险;此外,可以捕获异常,以确保快速迭代在线时程序不会崩溃。 
有理由相信,从长远来看,基于高级编程语言的软件系统将逐渐获得竞争优势。 
 CPU等硬件资源的价格仍将迅速下降,人工成本,项目开发风险和系统稳定性/安全性的发展将成为更重要的决策考虑因素。 
从这个角度来看,主要基于C语言的Nginx将逐渐衰落,基于BFE等高级编程语言的软件将逐渐成为主流。 

此外,BFE在其设计中还添加了企业级应用程序场景:直接支持转发场景:与Nginx从Web服务器到代理的演进路径不同,BFE直接设计用于转发场景,转发模型和转发。 

配置方面满足转发方案的要求。多租户支持:在云计算场景中,多租户重用是常见的要求。 
在BFE设计中,内置的多租户支持结构化配置:BFE配置设计,大量结构化方法(例如JSON),易于与相关的配置管理系统进行交互的丰富监视探针:作为工业应用,等级软件
在BFE的设计中,充分考虑了在线监控的要求。 BFE程序通过HTTP公开了数千个内部状态变量。为了促进负载平衡技术的交流和发展,BFE转发引擎于2019年夏季正式开源。
 Https:/ 
/github.com/baidu/bfeBFE当前是开源的,并支持以下重要功能:1.主流网络协议访问支持HTTP / HTTPS / SPDY / HTTP2 / WebSocket等。支持TLS / HTTP / WebSocket反向代理模式2.可扩展插件
通过可扩展的插件框架,该框架可以快速开发和开发扩展模块,以满足业务定制的需求。内置重写,重定向,流量修改,禁止和其他丰富的插件。 3.基于请求内容基于特定于域的语言分发规则。 
业务场景定制的流量转发支持一整套卸载条件原语,包括基于请求内容URI / Header / Cookie等以及请求上下文IP,协议,标签,时间等的条件原语。 
 4。灵活的负载均衡策略支持集群级负载均衡和实例级负载均衡,实现多可用性灾难恢复和过载保护,内置加权轮循,加权最小连接数策略,并根据IP或请求内容识别用户实现会话维护。 
开放源代码版本详细信息和后续路线图,有兴趣的用户请注意https://github.com/baidu/bfe,或登录github直接搜索BFE。 
 BFE转发引擎的开发过程基于百度的出色R传统,并且已经积累了多年的技术。 
 BFE在百度已经稳定运行了很多年,并经历了许多大洗礼。 
使用开源促进社区是体现百度技术价值的重要途径。 
我希望我可以利用BFE的开放源代码机会并向他人学习,以在网络访问领域构建开放源代码技术生态系统。