百度APP基于Istio实现基础架构升级 - lightning talk - MichaelXu#IstioCon 百度APP基于Istio实现 基础架构升级 许超 #IstioCon 背景 l 核心业务线已完成微服务改造,数万个微服务对架构服务治理能力提出了更高的要求。 l 高级架构能力能否多语言、多框架支持? l 运维架构能力是否具备可移植性?是否能低成本复制新的产品线? l 可观测性不足,是否有通用机制提升产品线可观测性? Ø 部分模块上下游超时配置不合理,超时倒挂,集中管理调整成本比较高。 关键技术 Ø 内核劫持,使用Loopback IP 与 服务发现一一对应。 Ø RPC劫持,构建可快速扩展标准方案。 Ø 自身稳定性,降级(兜底)、隔离、监控多种方式保证。 ①bns, 百度内部基础设施层,服务发现。 ②bns-agent,服务发现接入层。 ㊟ 内核劫持:Loopback方案 Ø loopback地址的管理和分配。 Ø 需要打通业务和loopback之间的映射管 理。 RPC劫持:可扩展方案 支持动态调整配置参数,对接智能调参系统。 防雪崩能力:动态BackupRequest #IstioCon 未来 l 强化稳定性工程。(Case覆盖、故障自动恢复) l 实现现有能力整合。(Mesh作为基础层,完全有能力整合内部Trace系统、压测平台等) l 积极拥抱社区。(积极贡献Istio社区) l 探索新应用。 (机房扩建,流量染色分级等) #IstioCon Thanks 添加讲师微信0 码力 | 9 页 | 2.20 MB | 1 年前3
Envoy原理介绍及线上问题踩坑主机可用状态。 • 3. 当收到节点变化EDS消息时,需要通知到工作线程内新上线、下线主机。 • 4. Envoy使用前面提到的TLS方式实现集群状态更新,集群管理器保存一个TLS slot ,类型为ThreadLocalClusterManagerImpl。 当节点变化、DNS解析更新、健康状态变化时,将调用集群管理器的postThreadLocalClusterUpdate方法 • 5. Technologies Co., Ltd. All rights reserved. Page 15 Envoy过滤器架构 • 根据位置及作用类型,分为: • 监听过滤器(Network::ListenerFilter) • onAccept接收新连接,判断协议类型,TLS握手,HTTP协议自动识别、提取连接地址信息 • L4 网络过滤器 • HTTP、Mysql、Dubbo协议处理、元数据交换,四层限流,开发调试支持等。 检测下游连接是否为TLS加密,并且获取ALPN(应用层 协商协议),用于网络层过滤器匹配判断。 envoy.listener.http_inspector 监听过滤器 检测应用层协议是否HTTP,并判断具体类型为HTTP/1.x 或HTTP/2,用于网络过滤器匹配判断 envoy.listener.original_dst 监听过滤器 根据Socket上属性SO_ORIGINAL_DST获取iptables0 码力 | 30 页 | 2.67 MB | 1 年前3
Istio控制平面组件原理解析uv1版本和v2版本之间的区别 u建立缓存配置 u触发配置生效方式v1版本和v2版本之间的区别 V1 HTTP1 REST JSON/YAML 弱类型 轮询 SDS/CDS/RDS/LDS 奠定控制平面基础 V2 HTTP2 GRPC Proto3 强类型 Push SDS/CDS/RDS/LDS/HDS/ADS/KDS 和Google强强联手 官方博客:The universal data0 码力 | 30 页 | 9.28 MB | 6 月前3
全栈服务网格 - Aeraki 助你在
Istio 服务网格中管理任何七层流量(Traffic Management, Security, Observability) #IstioCon What Do We Expect From a Service Mesh? 为了将基础设施的运维管理从应用代码中剥离,我们需要七层的流量管 理能力: ● Routing based on layer-7 header ○ Load balancing at requet level 没有必要每个协议都全部从头实现,重复造轮子。 ● MetaProtocol 框架在 Service Mesh 提供七层协议的通用能力: ○ 数据面:MetaProtocol Proxy 实现 RDS、负载均衡、熔 断等公共的基础能力 ○ 控制面:Aeraki + Istio 提供控制面管理,实现按请求 header 路由、灰度发布、地域感知LB、流量镜像等高级 流量管理能力。 ● 基于 MetaProtocol MetaProtocol:控制面 通过 Aeraki MetaProtocol Plugin 实现控制面的流量管理规则下发 : 1. Aeraki 从 Istio 中获取 ServicEntry,通过端口命名判断 协议类型(如 tcp-metaprotocol-thrift) 2. 为 MetaProtocol 服务生成数据面所需的 Filter 配置 ,Filter 配置中将 RDS 指向 Aeraki 3.0 码力 | 29 页 | 2.11 MB | 1 年前3
Istio 在 Free Wheel 微服务中的实践劫持Pod的所有通信, 是Mesh的基础 • Pilot: 为Proxy提供动态配置管理 • Citadel: 自动维护mTLS密钥 • Mixer: 在k8s中部署了两组Mixer • Policy提供授权、Quota等能力 • Telemetry提供监控数据收集能力 基本原理 • Istio从架构上可以分为4个板块: • Istio Proxy: Mesh的基础 • 网络安全:兼容Spiffe标准实现 网络安全:兼容Spiffe标准实现 • 配置管理:为C++实现的Proxy接 入k8s的动态配置管理 • Attribute Machine: 授权,Quota ,Tracing,监控的基础 Istio管理下的微服务 • 右图是部署mock1.v1 Pod之后发生的事 情: • Sidecar Injection: 注入initContainer, Sidecar, istio-certs volume0 码力 | 31 页 | 4.21 MB | 1 年前3
Kubernetes容器应用基于Istio的灰度发布实践Sidecar 服务治理 Node 2 svc 2 自身业务 SDK Sidecar 服务治理 通信基础 服务发现 负载均衡 熔断容错 动态路由 … for (封装++) { 应用侵入--; 治理位置--; } 微服务角度看Istio: 服务网格 服务网格控制面 从基础设施(Kubernetes)看Istio: 服务访问 Node svca svcc svcb.ns Kube-APIServer ServiceIp Backend Pod1 Labels:app=svcb Port:9379 Backend Pod2 Labels:app=svcb Port:9379 svca 基础设施(Kubernetes)看Istio: 能力增强 服务部署运 维 服务治理 • 调用链追踪 • 动态路由 • 熔断限流 • 负载均衡 • 服务发现 • 扩缩容 • 运维 • 部署 Kubernetes0 码力 | 38 页 | 14.93 MB | 1 年前3
Kubernetes容器应用基于Istio的灰度发布实践Sidecar 服务治理 Node 2 svc 2 自身业务 SDK Sidecar 服务治理 通信基础 服务发现 负载均衡 熔断容错 动态路由 … for (封装++) { 应用侵入--; 治理位置--; }6 微服务角度看Istio: 服务网格 服务网格控制面7 从基础设施(Kubernetes)看Istio: 服务访问 Node svca svcc svcb.n s ServiceIp Backend Pod1 Labels:app=svcb Port:9379 Backend Pod2 Labels:app=svcb Port:9379 svca8 基础设施(Kubernetes)看Istio: 能力增强 服务部署运 维 服务治理 • 调用链追踪 • 动态路由 • 熔断限流 • 负载均衡 • 服务发现 • 扩缩容 • 运维 • 部署 Kubernetes0 码力 | 34 页 | 2.64 MB | 6 月前3
Istio + MOSN 在 Dubbo 场景下的探索之路机制获取 Node、Endpoint、 Service、Pod 变化) • 根据用户的配置(CR、MCP 推送,文件) 触发推送流程 推送流程 • 记录变化的资源类型 • 根据变化的资源类型整理本地数据 • 根据变化的资源类型判断需要下发的 xDS资源 • 构建 xDS 资源,下发到连接的 Sidecar10/23 xDS Sidecar 通过动态获取服务信息,对服务的发现 API0 码力 | 25 页 | 3.71 MB | 6 月前3
Istio 与 Knative 踩坑实录服务等各种环境和不同的K8S版本 5 集群 服务网格实践进展5/25 Istio Community 服务网格实践进展6/25 Knative FAAS实践进展7/25 Faas(函数即服务)基础设施 FAAS实践进展8/25 Istio 的价值和问题 /02 酷家乐在使用 Istio 作为服务网格解决方案时的相关实践和经验9/25 隔离中间件 Istio 的价值和问题10/25 根据组织和业务情况推广或改造,新旧体系可并存 • 超大规模应用,几个架构问题有待社区或业界解决17/25 分享主题:字号 Knative 的实践和瓶颈 /03 酷家乐在使用 Knative 作为 Serverless 基础设施时的相关实践和经验18/25 Knative 简介 FAAS 实践进展19/25 酷家乐 FAAS 方案 FAAS 实践进展20/25 Knative 基本实践数据 FAAS 实践进展0 码力 | 26 页 | 1.35 MB | 6 月前3
SolarMesh 基于Istio构建的流量监管平台Kubernetes上 应用的网络问题 困扰开发、测试、运维最突出的问题: Copyright © 2021 Cloud To Go 为什么我们需要服务网格 - 服务网格带来了什么 服务网格是一个云原生的网络基础设施,它把微服务调度中有关网络的公共能力下沉,在无任何代码侵入的 情况下提供可观察性、流量管理和安全性等能力。 Copyright © 2021 Cloud To Go SolarMesh的定位 Go SolarMesh的架构设计 Copyright © 2021 Cloud To Go SolarMesh的架构设计 负载均衡 服务发现 弹性伸缩 k8s 应用 自我修复 基础设施 | VM/DOCKER 熔断限流 流量观测 超时重试 服务网格 流量安全 SolarMesh Copyright © 2021 Cloud To Go •轻量 核心0 码力 | 20 页 | 1.29 MB | 1 年前3
共 12 条
- 1
- 2













