【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

百度正式开源转发引擎 BFE,曾支撑春晚红包百亿流量

  • 2019-11-15
  • 本文字数:1157 字

    阅读完需:约 4 分钟

百度正式开源转发引擎BFE,曾支撑春晚红包百亿流量

BFE(Baidu Front End,百度统一前端)是百度的统一七层流量转发平台。据了解,BFE 平台目前已接入百度大部分流量,每日转发请求接近 1 万亿,峰值 QPS 超过 1000 万。


在 2019 年百度春晚红包活动中,BFE 平台在超大用户压力、数次流量波峰下平稳运行,保证了春晚红包活动的顺利进行。


作为综合的流量转发平台,BFE 平台集成了以下 4 大功能:


• 流量接入和转发:支持 HTTP、HTTPS、HTTP/2、QUIC 等多种协议,并支持强大的应用层路由能力


• 流量全局调度:支持由外网流量调度和内网流量调度共同构成的全局流量调度系统


• 安全和防攻击:支持黑名单封禁、精细限流和应用层防火墙(WAF)等多种防攻击能力


• 实时数据分析:支持分钟级的超高维度时序报表



作为 BFE 平台的核心组件,BFE 转发引擎从 2012 年开始研发,并于 2014 年使用 Go 语言完成重构。


由于基于 Go 语言,和业界普遍使用的 Nginx 开源软件相比,BFE 具有以下优势:


• 研发效率高:Go 语言的开发效率远高于 C 语言(及 Lua),在代码的可维护性方面也有巨大优势。


• 系统的安全和稳定性高:Go 语言没有 C 语言固有的缓冲区溢出隐患,规避了大量的稳定性和安全风险;另外对于异常可以捕捉,保证程序在快速迭代上线的情况下也不崩溃。


另外,BFE 在设计中,还特别增加了企业级应用场景的考虑:


• 转发场景的直接支持:和 Nginx 这样从 Web Server 转型为 Proxy 的进化路径不同,BFE 直接为转发场景设计,从转发模型和转发配置方面更满足转发场景的需求


• 多租户的支持:在云计算的场景下,多租户复用是普遍的需求。在 BFE 的设计中,内置提供了多租户的支持


• 结构化的配置:BFE 的配置设计,大量使用 JSON 这样的结构化方式,便于和相关配置管理系统对接


• 丰富的监控探针:作为一个工业级软件,在 BFE 的设计中充分考虑了线上监控的需求,BFE 程序通过 HTTP 方式向外暴露数千个内部状态变量



为了促进负载均衡技术的交流和发展,BFE 转发引擎于 2019 年夏天正式开源


BFE 目前已开源并支持以下重要能力:


1、主流网络协议接入


• 支持 HTTP/HTTPS/SPDY/HTTP2/WebSocket 等


• 支持 TLS/HTTP/ WebSocket 反向代理模式


2、可扩展插件框架


• 通过可扩展插件框架,快速定制开发扩展模块,满足业务定制化需求


• 内置重写、重定向、流量修改、封禁等丰富插件


3、基于请求内容的分流


• 基于领域专有语言的分流规则,满足复杂业务场景定制化流量转发


• 支持完备的分流条件原语集,包括基于请求内容(URI/Header/Cookie 等)以及请求上下文(IP、协议、标签、时间等)的条件原语。


4、灵活的负载均衡策略


• 支持集群级别负载均衡及实例级别负载均衡,实现多可用区容灾及过载保护


• 内置加权轮询、加权最小连接数策略,基于 IP 或请求内容识别用户实现会话保持


关于 BFE 开源版本详情及后续路线图,有兴趣的用户请关注:https://github.com/baidu/bfe


2019-11-15 14:263496

评论

发布
暂无评论
发现更多内容

skywalking核心概念

淡泊明志、宁静致远

使用 Simple Replay 实用程序简化 Amazon Redshift RA3 迁移评估

亚马逊云科技 (Amazon Web Services)

mad

中山市政务服务数据管理局党组书记叶永忠:积极构筑智慧联接新底座,打造中型智慧城市标杆

InfoQ_967a83c6d0d7

基于实例数据详解准确率和召回率

华为云开发者联盟

数据集 AUC 信息检索 准确率 召回率

workflow 之 Prefect 基本用法(qbit)

qbit

工作流 pipeline workflow 数据流

助力产教融合,夯实数据库产业人才基座!openGauss社区分委会正式成立

openGauss

Mysql索引

zdd

MySQL

您有一份Microsoft Office 365技能宝典等待签收

淋雨

Office 365 office办公软件

【量化】量化交易入门系列6:量化交易学习书籍推荐(二)

恒生LIGHT云社区

量化策略 量化投资 量化交易 量化

Linux云计算好学吗?Linux云计算运维学习资料 vim编辑器和恢复ext4下误删文件

学神来啦

低代码实现探索(十四)工程化思想提高项目质量与可维护性

零道云-混合式低代码平台

低代码实现探索(十五)安全检查报告提高低代码数据安全性

零道云-混合式低代码平台

为什么零售业需要借助CRM系统蓬勃发展

低代码小观

企业管理 CRM 企业管理系统 CRM系统 企业管理软件

斯图飞腾数据分析平台Stratifyd获评“2021大数据产业创新服务产品”

InfoQ_967a83c6d0d7

【网络安全】你必须知道的几个网络安全概念

行云管家

运维 网络安全 防火墙 IT

MySQL高级特性篇教程

编程江湖

MySQL

工具 | 如何对 MySQL 进行 TPC-C 测试?

RadonDB

MySQL RadonDB

在Spark Scala/Java应用中调用Python脚本,会么?

华为云开发者联盟

Python spark python脚本 Spark Scala Java应用

风口上的“低代码”,是时候来系统学一学了!

博文视点Broadview

前端开发之动态管理Nginx集群的方法

@零度

nginx 前端开发

从四种时序数据库选型中脱颖而出,TDengine在工控领域边缘侧的应用

TDengine

数据库 大数据 tdengine 物联网

面试官惊叹,好小子!你这多线程基础可以啊!

XiaoLin_Java

1月月更

3个重点,20个函数分析,浅析FFmpeg转码过程

奔着腾讯去

音视频 WebRTC ffmpeg RTMP RTSP

霸屏综艺,牵手明星,扩列神器皮皮APP的出圈始末

联营汇聚

开源demo| 智慧协同demo升级——协同更直观方便

anyRTC开发者

音视频 白板 智慧协同 开源demo 远程协助

Karpenter : 新一代 Kubernetes auto scaling 工具

亚马逊云科技 (Amazon Web Services)

网络

linux系统管理与自动化运维工具用哪款好?

行云管家

Linux 运维 IT运维 自动化运维

万字详解 Spark 数据倾斜及解决方案

五分钟学大数据

spark 1月月更

效果提升28个点!基于领域预训练和对比学习SimCSE的语义检索

百度大脑

人工智能

openGauss 助力邮储银行分布式新核心迈向智能运维时代

openGauss

巧用Amazon PrivateLink——轻松访问私有终端节点Amazon S3

亚马逊云科技 (Amazon Web Services)

网络

百度正式开源转发引擎BFE,曾支撑春晚红包百亿流量_大前端_百度BFE引擎技术团队_InfoQ精选文章