写点什么

百度正式开源转发引擎 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:263638

评论

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

电动车窗开关中MOS管的应用解析

梦笔生花

汽车电子 芯片技术 MOS管

iNet Network Scanner for Mac(mac网络扫描工具) v3.0.6永久激活版

iMac小白

MySQL 8.0.26版本升级32版本查询数据为空的跟踪

GreatSQL

Rocket Typist pro for mac(文本快速输入工具) v3.0.9激活版

iMac小白

淘系接口推荐:淘宝店铺所有商品数据接口

tbapi

淘宝API接口 淘宝店铺所有商品数据接口 淘宝商品数据采集

为了跳槽或提升自己,你会先学习哪一门编程语言?

小齐写代码

PostgreSQL数据库连接数设置的越大越好吗

张文平

数据库 postgresql 连接数 数据库配置

n-Track Studio Suite for Mac(多轨音乐制作软件) 10.0.0 (8466)激活版

iMac小白

DropDMG for Mac (dmg制作工具) v3.6.7中文版

iMac小白

RightFont for Mac(字体管理软件) v8.6.0免激活版

iMac小白

PDF Squeezer for Mac(强大的PDF文件压缩工具) v4.5.1免激活版

iMac小白

科技越发展普通人会越限制还是越free?

算法的秘密

南开大学OpenHarmony技术俱乐部揭牌成立

科技热闻

跨境电商三大趋势

api开发

告别过往,重获新生

少油少糖八分饱

村上春树 小说推荐 海边的卡夫卡

基于 Sass 的架构之 redis多租户

智慧源点

Amazon SageMaker 机器学习之旅的助推器

亚马逊云科技 (Amazon Web Services)

从零开始配置Jenkins与GitLab集成:一步步实现持续集成

百度搜索:蓝易云

云计算 Linux gitlab 运维 jenkins

利用1688商品详情API:打造高效的电商解决方案

技术冰糖葫芦

API Explorer API 接口 API 策略 pinduoduo API

再聊对架构决策记录的一些思考

京东科技开发者

CCE集群VPC网络模式下几种访问场景

华为云开发者联盟

后端 开发 华为云 华为云开发者联盟

TG Pro for mac(Mac硬件温度检测工具) v2.91激活版

iMac小白

1688接口推荐:1688商品详情数据接口

tbapi

1688 1688API接口 1688商品详情数据接口 1688商品数据采集

移动App开发常见的三种模式(原生应用、H5移动应用、混合模式应用)

天津汇柏科技有限公司

软件开发 APP开发 软件定制开发

开源无代码 / 低代码平台 NocoBase 0.20:支持多数据源

NocoBase

开源 低代码 低代码开发 低代码平台 无代码平台

实时工业控制系统的创新整合:PLC4X与CnosDB的高效数据采集与存储

CnosDB

开源 时序数据库 tsdb CnosDB

目前人工智能的发展,未来对人类的就业有那些影响?

算法的秘密

GaussDB(DWS)集群通信:详解pooler连接池

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 华为云GaussDB(DWS)

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