百度APP基于Istio实现基础架构升级 - lightning talk - MichaelXul 高级架构能力能否多语言、多框架支持? l 运维架构能力是否具备可移植性?是否能低成本复制新的产品线? l 可观测性不足,是否有通用机制提升产品线可观测性? Ø 部分模块上下游超时配置不合理,超时倒挂,集中管理调整成本比较高。 Ø 多数模块对单点异常,慢节点等异常缺乏容忍能力,推动每个模块独立修复,成本高,上线周期长。 Ø 因重试导致雪崩,底层RPC框架需要重复建设来定制动态熔断能力。 需要打通业务和loopback之间的映射管 理。 RPC劫持:可扩展方案 Ø envoy启动后注册port到bns-agent。 Ø rpc框架查询bns-agent IP与治理策略数据。 Ø bns-agent判断否使用envoy进行服务治理。 Ø rpc框架根据反馈的IP,治理策略信息请求对 应IP,会cache数据,需要即时更新。 Ø envoy离线或者被干预则立即通知bns-agent, LocalityAware负载均衡策略以下游节点的吞吐 除以延时作为分流权值,优化长尾平响问题。 Mesh价值 1. 优秀策略支持给业务方跨语言跨框架使用。 2. 支持LocalityAware Plus负载均衡策略,提 升单点容错能力。 业务价值 降低业务因Redis回退引发的雪崩问题。(业务层RPC 框架Retry策略托管到Mesh,通过平响分位值动态抑 制BP请求) Mesh价值 1. 业务无需代码改动即可开启,在线调整backup超时0 码力 | 9 页 | 2.20 MB | 1 年前3
全栈服务网格 - Aeraki 助你在
Istio 服务网格中管理任何七层流量Aeraki - 在 Isito 服务网格中管理所有七层流量 ❏ Demo - Dubbo Traffic Management ❏ MetaProtocol - Service Mesh 通用七层协议框架 #IstioCon Protocols in a Typical Microservice Application Service Service Service Service Service listener,导致业务出现短 暂中断。 #IstioCon MetaProtocol:Service Mesh 通用七层协议框架 大部分七层协议的路由、熔断、负载均衡等能力的实现逻辑是类似的, 没有必要每个协议都全部从头实现,重复造轮子。 ● MetaProtocol 框架在 Service Mesh 提供七层协议的通用能力: ○ 数据面:MetaProtocol Proxy 实现 RDS、负载均衡、熔 断等公共的基础能力 ○ 控制面:Aeraki + Istio 提供控制面管理,实现按请求 header 路由、灰度发布、地域感知LB、流量镜像等高级 流量管理能力。 ● 基于 MetaProtocol 框架扩展开发,只需要实现 encode、 decode 的少量接口即可在 Istio 中支持一个新的七层协议 ● 为七层协议如 Dubbo、Thrift 等等添加 RDS 能力 #IstioCon0 码力 | 29 页 | 2.11 MB | 1 年前3
Envoy原理介绍及线上问题踩坑微服务架构通过细粒度的服务解耦拆分,带来缩短开发周期、独立部署、易扩展等好处的同时,同时带来对服务发现、负 载均衡、熔断等能力前所未有的诉求。 • 第一阶段为dubbo、SpringCloud侵入式开发框架,语言强相关。 • 非侵入服务网格最早为2016年Linkerd。 • 2017年,Goole、IBM、Lyft发布Istio。Istio目前为服务网格的事实标准,并且是2019年Github增长最快的TOP Istio中适配所使用的的插件 https://github.com/istio/proxy.git • 编译时由proxy项目作为入口,自动引用envoy项目 • 主要框架代码位于envoy项目,包含进程启动,线程 及网络、主要过滤器框架,观测数据处理等。 • 启动入口点位于envoy项目 source/exe目录下 • proxy项目中主要提供metadata_exchange,stats 等必要WASM扩展0 码力 | 30 页 | 2.67 MB | 1 年前3
Istio 在 Free Wheel 微服务中的实践Sidecar内的服务流量默认是不被劫持的,如果需要劫持需要添加额 外的annotation 扩展Mixer接入授权 • 右图为Mixer的基本原理,Template 是对Proxy上报的Attribute的特定处 理机制的框架,支持四类: • Preprocess: 汇总流量相关元数据 和环境(k8s)相关的元数据 • Report: 上报数据 • Check: 决策是否允许当前访问 • Quota: 决策容量是否足够0 码力 | 31 页 | 4.21 MB | 1 年前3
13 Istio 流量管理原理与协议扩展 赵化冰Protocol service name in message header some key:value pairs in message header 13 Istio 协议扩展:协议无关的通用路由框架 apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: reviews-route spec: hosts:0 码力 | 20 页 | 11.31 MB | 6 月前3
共 5 条
- 1













