立于山巅!他,凭什么抗住万亿级流量冲击!
在云计算时代浪潮下,大规模、高并发的技术架构已成为主流。云计算的高速发展,离不开底层基础设施的创新与改进,传统七层负载均衡架构已无法满足复杂的网络集群。
在云时代巨量请求背景下,在网民数量和互联网流量井喷的时点,2012 年,百度技术团队推出 BFE 平台。
网上有一个著名的段子:百度一下,测试网络通不通。BFE 就是保障百度可用性口碑的关键支柱之一。
当时的数据中心已经分布多地,数据中心电力、交换机、服务器和网络传输线路故障频发,伪装用户请求的攻击、程序故障、数据错误等各类问题每时每刻都在发生。
BFE 就是在这样的背景下立项研发的。它的诞生是为了解决具体的问题,在实战中它成为百度数百亿请求的最前沿用户触点,确保在各种情况下都能让用户获得高品质的服务,找到所求。
在 2019 年百度春晚红包的巅峰决战中,BFE 抗住了极限并发流量的冲击,让整个活动如丝般顺滑。
BFE 是什么
百度统一七层流量转发平台
每日转发流量请求超万亿次
为企业场景设计的现代七层负载均衡开源软件
国内首个被 CNCF 接受的网络方向开源项目
BFE 最初是 Baidu Front End(百度统一前端)的缩写。
BFE 平台是百度统一的七层负载均衡接入转发平台,平台从 2012 年开始建设,截至 2020 年年底,平台每日转发的请求超过 1 万亿次,日峰值请求超过每秒 1000 万次查询。
2014 年,BFE 平台的核心转发引擎基于 Go 语言重构,并于 2015 年 1 月在百度全量上线。BFE 平台是全球第一个将 Go 语言用于负载均衡场景及大规模使用的项目。
2019 年年初,BFE 平台成功地支持了百度春晚红包项目。在本次项目中,BFE 平台提供了亿级别的转发能力,在海量的流量下支持了 HTTPS 卸载,以及精确限流等关键能力,保证了活动的顺利进行。
2019 年 7 月,BFE 平台的转发引擎对外开源。英文全称更名为 Beyond Front End(中文意为“超越前端”)。
2020 年 6 月,BFE 被 CNCF(Cloud Native Computing Foundation,云原生计算基金会)接收为“沙盒项目”(Sandbox Project)。
BFE 开源项目定位于现代的七层负载均衡系统,为工业级的使用场景而设计。
BFE 的特点
全球首个将 Go 语言用于大规模网络接入转发的项目
为企业级场景设计:
(1)源于 Go 语言的特性,BFE 可以提供更高的安全性和稳定。
(2)配合良好的插件化设计,BFE 支持功能的快速开发。
(3)内置的多租户设计,强大的路由转发模型支持,对于多数据中心和多容器云集群间的流量调度支持,这些特性使得 BFE 可以支持复杂的应用场景。
(4)内置大量的状态探针,可以更好掌控 BFE 转发引擎的运行状态。
来自企业级客户的评价
BFE 从诞生的那天起已经陪伴我 9 年的时间,在度小满金融独立时,我毫不犹豫地选择了 BFE 并一直应用到现在,其稳定性一直非常好。非常感谢 BFE 团队,感谢 BFE 这个产品。
——度小满技术总监 陈存利
招商银行选择百度 BFE 作为招行私有云负载均衡和流量调度总入口,是因为遇到过 Nginx 等其他软件无法解决的难题,包括租户支持、配置热加载副作用小、快速启动、灵活的条件表达式、充分而超大规模的验证等。
现在,BGW 和 BFE 在招行云逐步实现了对 F5 的替代。招商银行已成为 BFE 的深度用户,BFE 是一个好产品。
——招商银行云计算项目组负责人 熊爱国
站在安全者的角度来说,在改变内容安全的道路上,我们也尝试过很多支撑类产品,但效果都不太理想,直到我们遇到了它——BFE 平台。
经过一段时间真刀真枪的使用(先线下再线上),它确实让我们眼前一亮:因我们网站的属性有别于商业网站,BFE 通过纯正的开源血统,很快地融入了我们现有的技术架构当中,且具有出色的转发性能和丰富的功能特色。
站在使用者的角度来说,我们很满意。在此也期待 BFE 在开源生态的长河中,为更多的小伙伴们带来更多的亮点。
——戴鸣泉 央视网网络安全部总监
BFE 核心技术,终于立地成书
对于 BFE 的原理、设计和实现机制,市面上始终缺乏系统全面的资料,这给相关同行了解和使用 BFE 带来了困难。
百度 BFE 技术团队整合了 BFE 项目的相关资料和自己的研发心得,将其落地成书,致力于通过这些内容帮助读者理解 BFE 的原理、实现机制和使用方法。
如何阅读这本书
本书分为四部分。
第一部分:原理篇
介绍 BFE 开源项目的概貌,并对 BFE 所涉及的网络前端接入和网络负载均衡的技术原理做简要介绍。
第二部分:设计篇
说明 BFE 开源项目的设计细节,包括 BFE 的设计思想、BFE 的转发模型、与转发相关的关键机制、运维相关机制、HTTPS 的优化等。
第三部分:操作篇
说明如何安装和部署 BFE、如何在各种使用场景下配置 BFE。
第四部分:实现篇
从处理流程、插件机制、协议实现等方面说明 BFE 的实现机制。
倾 情 作 序
鼎力推荐
作者介绍
适读人群
计算机网络方向的研究者
网络相关技术的开发者
一般后台程序的开发者
负载均衡系统的使用者等
评论