2.2.2 深入理解BFE深入理解BFE 章淼 百度智能云 架构师 什么是BFE? • 百度统一的七层流量转发平台 • HTTP, HTTPS, HTTP/2, QUIC • 2012年开始建设 • 每日转发请求约1万亿,日峰值超过1KW QPS • 2019年,核心转发引擎对外开源 • BFE => Beyond Front End • https://github.com/bfenetworks/bfe 02 BFE的实现机制 03 为什么需要BFE? • 没有统一七层接入的问题 • 功能重复开发 • 运维成本高 • 流量统一控制能力低 • 引入BFE后 • 功能统一开发 • 运维统一管理 • 流量控制能力增强 • BFE平台的主要功能 • 接入和转发,流量调度,安全防攻击,数据分析 BFE部署前 BFE部署后 L4LB 业务A 集群 业务B 集群 业务C 集群 BFE 名字服务 基于负载均衡器 基于名字服务 方案对比 方案 对流量的控制力 资源消耗 对客户端的要求 适用场景 基于负载均 衡器 强。可以达到单个连 接 / 请求的粒度。 高。负载均衡器引 入了额外的资源消 耗。 低。客户端基本不 需要实现策略。 总体流量规模不大 (从负载均衡器资 源消耗的角度); 应用场景对流量控 制要求高。 基于名字服 务 + 客户 端策略 弱。客户端直接访问0 码力 | 26 页 | 1.78 MB | 1 年前3
微服务容灾治理微服务容灾治理 1. go-zero稳定性能⼒概览 经过这么多年⼤流量服务端架构设计的沉淀,go-zero在保护服务的稳定性上下⾜了功夫,不管是 CPU密集型还是IO密集型服务,go-zero都能很好的保护服务在如下场景不被拖垮或卡死: • 远超服务容量的突发⼤流量 • CPU打满 • 上下游故障或者超时 • MySQL、MongoDB、Redis等中间件故 总qps⼤概在10000左右,流量⼤约是系统容量的20倍 • 拒绝了约95%的过载请求 • 成功处理请求在360-400qps,⼤概损失了10%的qps,被拒绝的近1000qps请求也需要消耗少 量系统资源(从接受请求到被拒绝) • 处理时延p99不到700ms • 处理时延p90不到25ms 2.3压测结论: • 流量未知的情况下,保障系统不 minRt / 1000 ◦ 并发请求数是否⼤于当前系统容量,如是则拒绝请求 ⾄此,原理基本讲完了,还有⼀些实现细节和技巧你可以翻看go-zero源码。 我们再来看⼀下系统容量10倍流量的场景下整体表现: • 成功处理的qps在400左右 • 拒绝了⼤概90%的请求 • P99时延控制在20-24ms之间 • P90时延在5ms以下 • CPU峰值控制在95%以下0 码力 | 13 页 | 1.68 MB | 1 年前3
2-6-Golang 在 Baidu-FrontEnd 的应用-陶春华com 2016年4月 个人简介 • 陶春华,运维部,Baidu Front End团队 –2010年,天津大学,计算机专业博士 • 2013年7月,加入百度 –使用GO开发的项目 • 7层流量代理GO-BFE • 应用层防火墙WAF • 百度GOLANG委员会成员 内容提要 • 后台程序开发的需求和难点 –C, Python and Go对比 • 采用Go语言重构BFE –背景和技术路线 –可编译为独立可执行程序 BFE(Baidu Front End) • 百度统一前端 –七层流量接入平台 BFE(Baidu Front End) • 主要服务 • 接入转发 • 防攻击、流量调度、数据分析 • 业务现状 • 覆盖大部分重要产品 • 日请求量千亿级别 接入与转发 防攻击 流量调度 数据分析 BFE 为什么重写BFE • 现存问题 –修改成本高 • 事件驱动的编程模型:编码和调试难度大0 码力 | 35 页 | 730.17 KB | 1 年前3
2.3 用golang写一个操作系统系统 ⽀支撑 价值 传播 价值 实现 产品、研发 运维 运营、市场、公关 ⽤用户 Leither的⽣生态结构 1诺币=1M流量信⽤用 1毫=1K流量信⽤用 1K=1G流量信⽤用 Leither的-货币 阿⾥里云2万台服务器 新开的北京中⼼心1万台 http://server.zol.com.cn/452/45228310 码力 | 33 页 | 1014.12 KB | 1 年前3
2.游戏战中陪伴助手微服务架构设计与应用部署:腾讯云 TKE(Tencent Kubernetes Engine);微服务 - 上线前压测: - 预估 CPU:20,000+ 核,其中推荐系统接近 18,000 - 现象:网络流量极大 - 原因:流量中包含对局完整历史(Token 历史、推荐历史、……) 服务(某灰度下) 峰值 CPU 使用率 峰值 内存 峰值 CPU 核 峰值网络 I/O show_common 35~50% 改为函数调用,同时保留微服务架构 微服务——上线前压测 贵 微服务——火焰图 - 以实验层火焰图为例,业务逻辑仅占 CPU 10% RPC 变成内存调用才是单体的完全体 - 思路: - 网络流量 => 内存数据 - RPC => 函数调用 - 实现: - 微服务框架:tRPC、北极星 - tRPC - 基于 Protobuf v3 - 开源版: - https://trpc.group0 码力 | 47 页 | 11.10 MB | 1 年前3
Golang大规模云原生应用管理实践策略面向外部交互,机制面向内部实现; • 策略追求开放标准,机制追求稳定可复用; • 策略与机制要分离; • 策略与机制随着层次的变化而变化; 应用管理的策略与机制 应用 版本 工作负载 负载均衡 标签 流量 组件 日志 指标 容量 服务 依赖 路由规则 持久卷 部署策略 健康检查 … 灰度 发布 定时弹性 事件 指标弹性 分批发布 重启 回滚 日志管理 事件中心 指标监控 认知成本高:K8s功能强大却没有统一的使用方式,不得不学习复杂的声明字段和各种奇怪的Annotation; • 稳定性不足:没有设置Pod的QoS等级,导致频繁被驱逐,没有设置反亲和性策略,导致节点流量不均; • 扩展效率低:需要负责安装,升级丰富的云原生插件,无法解决插件的依赖,冲突和资源浪费问题; • 运维成本高:Apiserver, etcd, Controller-Manager, Kubelet manager KEDA controller Flagger controller Prom- controller Istio- controller … 部署 控制器 弹性 控制器 流量 控制器 存储 控制器 负载均衡 控制器 限流降级 控制器 监控 控制器 … 应用模型 控制器 平台应用模型 平台特定业务 用户应用模型 云原生生态 EDAS 1、应用管理策略0 码力 | 23 页 | 7.70 MB | 1 年前3
如何用GO支撑海外电商的快速发展-吕梦楼内容平台 商品详情 商品收藏 产品站 营销管理 优惠券/码管理 营销活动管理 商品管理 活动中心 抢购/秒杀 直播/抽奖 竞价/拼团 活动模版 数据服务 推荐服务 搜索服务 流量平台 其他服务 评论服务 积分服务 站内信 礼品卡服务 内容发布服务 SEO 站点管理 EDM/ Push Mobile POCO Android 用户画像 支付活动管理 Traefxi配置文件 场景落地 01. 微服务网关 场景落地 01. 微服务网关 场景落地 01. 微服务网关 场景落地 02. 秒杀 新品发售 爆品发售 大型促销活动 流量瞬时爆发 场景落地 02. 秒杀 技术栈选型:GO + Ker Redis 场景落地 02. 秒杀 三次限流 原子计数限流:每秒只通过部分请求进行限流 队列限流:业务系统请求入队列的限流0 码力 | 33 页 | 3.80 MB | 1 年前3
Go 构建大型开源分布式数据库技术内幕TiKV TiKV COUNT(c1) COUNT(c1) 并行 Hash Join 还有一些你看不到的东西:调度 调度的目标 ● CPU ● IO ● 内存 ● 磁盘使用量 ● 网络流量 ● Location Awareness 调度的方法 ● PD 周期性根据 Cache 中的集群信息,生成调度计划(Operator) ● Operator 是作用于一个 Region 的一系列操作 [AddPeer, RemovePeer] 或 [AddPeer, TransferLeader, RemovePeer] ● HotRegionBalance ○ 统计一段时间内的 Region 流量排行榜 ○ 统计排行榜 TopN 在 Store 的分布情况 ○ 生成 Operator 使之均衡 调度的难点 ● 难以评判什么样的数据分布情况是最优解 ○ 机器配置不同 ○ CPU、内存、磁盘、网络多种因素相互制约0 码力 | 44 页 | 649.68 KB | 1 年前3
02. Service Mesh落地之后_为sidecar注入灵魂 - 周群力落地实践 7 基础设施 MOSN RPC MQ Actuator Cache Config 鉴权 配置 Java/NodeJS/C++/… App P a a S 降级限流 流量镜像 … 消息 缓存 8 事情没有那么 简单 新的挑战 1:应用跟基础设施强绑定 9 MOSN App 业务逻辑 RPC SDK port1 bolt SOFA-RPC Mesh vs Runtime 18 低 能力丰富度 Service Mesh Runtime 分布式能力原语合集 定位 具有明确语义的 API 交互方式 通信协议 网络代理 定位 流量拦截 交互方式 私有协议 通信协议 高 能力丰富度 Http/gRPC 标准协议 19 Dapr Dapr 20 • 提供多种分布式能力 • 对接了丰富的基础组件 • 厂商解绑,跨云部署0 码力 | 63 页 | 880.85 KB | 1 年前3
大规模高性能区块链架构设计模式与测试框架-李世敬跨域通信 全连接转发策略 ⾃发现转发策略 区块链平台关键技术-自发现网络 21 趣链科技 版权所有 ©2016-2021 区块链平台关键技术-网络流控 提供交易拦截、消息分发、带宽限流等多维度⽹络流量控制服务,在请求激增场景下保证系统的稳定运⾏, 提⾼系统可⽤性 功 能 特 性 多维⽹络流控 节点⼊⼝ (JSON-RPC层) 核⼼模块 (共识、执⾏等) 节点出⼝ 交易拦截 消息分发 到主流程花费不必要的系统开销 消息分发器限流 P2P⽹络层通过消息分发器将消息带权分发给对应 模块处理,降低各模块由于处理能⼒差异⽽相互⼲ 扰,保证核⼼模块正常运⾏ ⽹络带宽限流 限制节点最⼤出⼝带宽流量,适⽤于对⽹络带宽 有限制需求的场景 功能简介 22 趣链科技 版权所有 ©2016-2021 22 趣链科技 版权所有 ©2016-2021 22 趣链科技 版权所有 ©2016-2021 220 码力 | 39 页 | 56.58 MB | 1 年前3
共 19 条
- 1
- 2













