转眼已经到了农历牛年的年尾。过去的一年,在BFE开源项目成员和社区的共同努力下,BFE开源项目获得进一步发展,取得了多个具有里程碑意义的成果。
今天,我们就来对BFE开源项目走过的2021年进行一下回顾。
关于BFE
BFE (Beyond Front End) 是源自百度的企业级七层负载均衡开源软件。在百度内部,BFE平台已接入大部分业务流量,每日转发请求超过1万亿,峰值QPS超过1000万。BFE于2019年7月正式开源,并获得了广泛的关注。2020年6月24日,BFE开源项目被CNCF(Cloud Native Computing Foundation,云原生计算基金会)正式接纳为Sandbox Project,这是在网络方向上中国第一个被CNCF接纳的开源项目。
01
不断壮大的社区和用户群
在过去的一年,我们最开心的就是BFE开源社区不断壮大。
- 贡献者和Pull Request
新增16位贡献者,贡献者达到90人;贡献者在2021年发起了170余次Pull Request。
- Issues on Github
BFE开源社区成员在Github Issues上也提交了很多高质量的需求和问题,Issue总数已达960多个。
- 企业用户
有更多的企业开始使用BFE开源软件,包含金融、媒体、制造、软件、互联网等多个行业,其中行业知名用户包括奇虎360、理想汽车、用友网络等(btw,也欢迎更多BFE开源的用户将使用信息提交到Github Issue中,以便于我们更好的提供服务)。
- 微信公众号
2021年,我们开通了微信公众号“BFE开源项目”,用于向中文社区分享BFE开源项目的信息和深入解读以及网络负载均衡技术的相关思考,至今已发布二十余篇专业文章,受到广泛关注。
02
更完整的开源产品
BFE社区期待已久的BFE控制面组件于2021年10月开源发布,支持通过Web图形界面和RESTful Open API接口统一管理BFE集群的配置。详情见之前的文章:《喜大普奔!BFE 控制平面正式开源发布!》
2019年开源的BFE转发引擎和2021年开源的控制面组件一起,组成了完整的七层负载均衡开源产品,可以更好的满足企业级生产环境的流量接入和管理需求。
BFE Ingress Controller 也于2021年10月开源发布,用户在K8s环境中可以选择BFE Ingress,从而享受到BFE的众多优点和强大能力。详情见之前的文章: 《BFE Ingress Controller正式发布!》
03
转发引擎持续迭代优化
BFE转发引擎在2021年内发布了5个新版本,新增了多个的重要的新功能,包括:
- 基础转发规则(见之前的文章:《BFE转发表的升级说明》,《BFE和Nginx有什么差异?- 转发模型的对比》)
基础规则可使用域名(Host)和路径(Path)作为匹配条件,组成基础规则表。
在加入基础规则表后,BFE原来的转发表成为“高级规则表”,继续保持原来机制描述能力强、执行顺序控制能力强的优势;
新增的“基础规则表”,使用树形查找,匹配速度快,可以支持较大数量(几千甚至上万)转发规则的快速查找。
- 连接数限流
可以设置后端实例的连接数限制,防止后端服务器过载。
- URL哈希负载均衡策略
负载均衡策略新增加支持URL哈希策略,可以确保同一个URL的请求会到达同一后端实例。
- 后端温暖上线
支持后端实例从故障中恢复时,缓慢增加向该实例的流量分配,避免同时涌入的大量新请求导致该实例负载过高。
- HTTP Header编辑
可以对符合条件的HTTP请求和响应的Header进行新增、修改和删除操作。
- TCP Keepalive自定义配置
用于配置TCP长连接心跳包的发送策略,以适应不同场景。例如,通过停止发送TCP Keepalive包或者降低发送频率,可以降低例如智能手表等客户端的耗电量。
04
BFE的书籍出版
深入介绍BFE开源项目的书籍《万亿级流量转发:BFE核心技术与实现》于2021年8月由电子工业出版社正式出版。(见之前的文章:《立于山巅!他,凭什么抗住万亿级流量冲击!!》和《书讯:“万亿级流量转发:BFE核心技术与实现”已正式上架》)
该书围绕BFE开源项目,介绍网络前端接入和网络负载均衡的相关技术原理,说明BFE开源软件的设计思想和实现机制,讲解如何基于BFE开源软件搭建网络接入平台。多位业内专家为本书撰写了推荐语,其中包括来自招商银行、央视网、度小满金融等BFE用户的技术负责人。
《万亿级流量转发:BFE核心技术与实现》一经上市,立即荣登京东24小时互联网类图书销量总榜第一。
对此书有兴趣的读者,可以在京东或当当购买。此书也提供在线开源版本,见历史文章《"深入理解BFE"对外发布》。有多名热心读者针对在线开源版本中的笔误提交了修正,非常感谢大家的支持。
05
对外分享
在2021年,BFE开源项目在多个场合进行了分享,包括:
- 2021年6月27日,在Gopher China 分享:《深入理解BFE》
- 2021年8月1日,在GOTC(全球开源技术峰会)2021上分享《百度万亿流量转发平台的开源之路》
- 2021年9月8日,在云原生社区分享《深入理解BFE技术与实现:百度万亿级流量网关揭秘》
- 2021年12月10日,在中国KubeCon + CloudNativeCon + Open Source Summit 线上峰会,分享《BFE:企业级七层负载均衡开源软件》
06
致谢
BFE开源项目能够在2021年取得进展,要感谢所有社区贡献者和社区用户的大力支持。在新的一年里,让我们一起把BFE开源项目和BFE开源社区做的更好。
为感谢大家对BFE开源项目和BFE开源社区的贡献,我们评选了2021年BFE开源项目的突出贡献者奖及社区之星奖,名单如下(Github ID):
- 突出贡献者奖
突出贡献者奖的获奖者,为BFE开源项目贡献了很多高质量的代码或文档,他们是:
kwanhur
qloog
qichengzx
liu-song
wangrzneu
ccqy66
- 社区之星奖
社区之星奖的获奖者,在Github的Issues和Discussion、微信群等场景,积极建议、参与讨论,他们是:
Corey-Wang
curiosport
githublaohu
lf2186
seraphico
tomhzt
wanghonglei5181
非常感谢大家的热心支持!
注:可通过点击左下方的“阅读原文”跳转至BFE开源项目在Github的讨论区(Discussion)参与讨论。也可以通过以下链接直接访问讨论区
https://github.com/bfenetworks/bfe/discussions/970
▊《万亿级流量转发:BFE核心技术与实现》
章淼 著
- 百度七层负载均衡接入转发平台
- 力扛极限并发流量冲击的实战宝典
- 网络架构/高可用/低延时/搜索引擎/Go语言/CNCF“沙盒项目”
本书围绕BFE开源项目,介绍网络前端接入和网络负载均衡的相关技术原理,说明BFE开源软件的设计思想和实现机制,讲解如何基于BFE开源软件搭建网络接入平台。
本书面向的读者包括计算机网络方向的研究者、网络相关技术的开发者、一般后台程序的开发者和负载均衡系统的使用者等。
(扫码查看本书详情!)