百度APP基于Istio实现基础架构升级 - lightning talk - MichaelXuØ 自建配置中心,产品化封装。 l 关键技术 Ø 内核劫持,使用Loopback IP 与 服务发现一一对应。 Ø RPC劫持,构建可快速扩展标准方案。 Ø 自身稳定性,降级(兜底)、隔离、监控多种方式保证。 ①bns, 百度内部基础设施层,服务发现。 ②bns-agent,服务发现接入层。 ㊟ 内核劫持:Loopback方案 Ø loopback地址的管理和分配。 Ø 需要打通业务和loopback之间的映射管0 码力 | 9 页 | 2.20 MB | 1 年前3
Envoy原理介绍及线上问题踩坑每个线程的TLS对象本身只保存真实对象的共享指针进行读操作,减少内存消耗。 • 5. 全局对象更新只发生在主线程,并通过COW方式通知工作线程进行指针修改 • 每个TLS slot通过allocateSlot分配,在使用前通过set在每个线程中创建一个拷贝并保存。 • 在主线程中调用此slot的runOnAllThreads在所有线程中延迟执行回调,回调内更新每个线程内拷贝对象状态 Copyright © fd2 默认选链接策略:接收线程即为后续连接数据处理线程, 导致连接分配完全凭运气,无法有效发挥所有worker CPU处理 能力。 默认连接处理策略 • virtualoutbound监听器监听在相同的监听端口, 由内核随机挑选一个线程用于处理新连接。 • 当Envoy配置的线程数比较多时(越多越明显), 常观察到新连接被分配到某些线程。 • Envoy的线程模型是工作线程由libevent事件信 默认连接策略与增强连接策略平均 TP90对比 默认连接策略平均tp90(s) 增强连接策略平均tp90(s) 增加80% 降低60% 默认连接策略 增强连接策略 Tp50(最快的50% 请求)增加不大, 分析可能被分配 到压力较小的线 程因此处理较快。 Tp50较默认连接 策略增加较大, 分析由于平均后 不存在压力显著 较小的线程,同 时qps的增加也会 增加端到端tp50 时延 虽然tp50增加, 但tp90显著降低0 码力 | 30 页 | 2.67 MB | 1 年前3
Istio 在 Free Wheel 微服务中的实践D无法做到平滑升级 • Istio的架构和基本原理 • FreeWheel的Istio实践 • 未来工作 • FreeWheel的痛点 未来工作 • Service Contract: 封装Istio以及平台层的其他配置的复杂度,抽象出 一个安全、高效的应用运维体系 • Chaos Testing:解决复杂的微服务系统的持续运营和风险控制问题0 码力 | 31 页 | 4.21 MB | 1 年前3
Kubernetes容器应用基于Istio的灰度发布实践自身业务 SDK Sidecar 服务治理 Node 2 svc 2 自身业务 SDK Sidecar 服务治理 通信基础 服务发现 负载均衡 熔断容错 动态路由 … for (封装++) { 应用侵入--; 治理位置--; } 微服务角度看Istio: 服务网格 服务网格控制面 从基础设施(Kubernetes)看Istio: 服务访问 Node svca svcc0 码力 | 38 页 | 14.93 MB | 1 年前3
Kubernetes容器应用基于Istio的灰度发布实践自身业务 SDK Sidecar 服务治理 Node 2 svc 2 自身业务 SDK Sidecar 服务治理 通信基础 服务发现 负载均衡 熔断容错 动态路由 … for (封装++) { 应用侵入--; 治理位置--; }6 微服务角度看Istio: 服务网格 服务网格控制面7 从基础设施(Kubernetes)看Istio: 服务访问 Node svca0 码力 | 34 页 | 2.64 MB | 6 月前3
SolarMesh 基于Istio构建的流量监管平台2. 用真实的数据测试 3. 挑个良辰吉日分配流量,宣布更新 Copyright © 2021 Cloud To Go 应用场景 - 异地容灾 通过智能路由实现异地容灾 在SolarMesh中,只需要声明哪些 集群是属于同一个mesh,借助istio 的智能路由能力,同名service将会 获得多集群容灾的能力 流量将会按照策略智能分配到正常 的工作负载上 Copyright0 码力 | 20 页 | 1.29 MB | 1 年前3
共 6 条
- 1













