 严选 ServiceMesh 实践的 Failover 机制 √ 安全 访问控制:主要依靠中间件 × 中间件 治理控制 熔断降级:主要依靠中间件 中间件 限流:速率限制 √ 中间件 资源隔离:主要依靠中间件 中间件 故障注入:不提供 × 超时控制、重试、重写、重定向等:继承 Nginx 的 timeout 机制 √ 监控/故障诊断 链路追踪:主要依靠中间件 APM APM 性能监控:主要依靠中间件 APM APM • 基础架构与业务架构可以独立演进 • 为多语言栈提供了服务治理能力7/24 持续演进的诉求 • 提供高质量的服务治理能力 • 增强流量管理能力 • 将更多治理特性(如限流、熔断、故障注入)与业务架构解耦 • 支持更多的协议 • 增强控制面 • 配合业务容器化上云及混合云架构8/24 行业技术演进 - 通用型 Service Mesh 出现 2017年1月23日 加入 CNCF 提供了部署、升级和有限的运行流量管 理能力 • Istio 补齐了 K8s 在微服务治理上的短板 (限流、熔断、降级、分流等) • Istio 以 Sidecar 的形式运行在 Pod 中, 自动注入,自动接管流量,部署过程对业务 透明 • 提供了完整的 Service Mesh 解决方案 • 数据面:Envoy • 控制面:Pilot,Mixer,Citadel,Galley10/240 码力 | 25 页 | 2.07 MB | 6 月前3 严选 ServiceMesh 实践的 Failover 机制 √ 安全 访问控制:主要依靠中间件 × 中间件 治理控制 熔断降级:主要依靠中间件 中间件 限流:速率限制 √ 中间件 资源隔离:主要依靠中间件 中间件 故障注入:不提供 × 超时控制、重试、重写、重定向等:继承 Nginx 的 timeout 机制 √ 监控/故障诊断 链路追踪:主要依靠中间件 APM APM 性能监控:主要依靠中间件 APM APM • 基础架构与业务架构可以独立演进 • 为多语言栈提供了服务治理能力7/24 持续演进的诉求 • 提供高质量的服务治理能力 • 增强流量管理能力 • 将更多治理特性(如限流、熔断、故障注入)与业务架构解耦 • 支持更多的协议 • 增强控制面 • 配合业务容器化上云及混合云架构8/24 行业技术演进 - 通用型 Service Mesh 出现 2017年1月23日 加入 CNCF 提供了部署、升级和有限的运行流量管 理能力 • Istio 补齐了 K8s 在微服务治理上的短板 (限流、熔断、降级、分流等) • Istio 以 Sidecar 的形式运行在 Pod 中, 自动注入,自动接管流量,部署过程对业务 透明 • 提供了完整的 Service Mesh 解决方案 • 数据面:Envoy • 控制面:Pilot,Mixer,Citadel,Galley10/240 码力 | 25 页 | 2.07 MB | 6 月前3
 七牛容器云ServiceMesh实践涉及K8S集群约20+集群 • 功能迭代 • 先南北,后东西 • 先原生,后二开 • 先管控面,后数据面落地场景—Spock测试平台 • 历史问题 • 分布式系统性能测试问题 定位难 • 多版本并发测试 • 故障注入较困难(代码侵 入性强) • 测试环境不稳定,后端Pod 频繁重启 • 解决方案 • Contour产品化 • Istio的灰度发布和流量管理 • Istio的Tracing产品化落地场景—云存储系统 • 基于Istio的Tracing产品化 • 跨集群流量调度七牛容器云产品逻辑架构 Kubernetes + Docker + 生态链七牛容器云产品未来发展 • 更多功能 • 故障熔断 • 故障注入 • 业务配置动态分发 • 优化升级 • 性能优化: • DPDK + eBPF • 系统优化 • 根据需求裁剪Istio。解耦Envoy和其他组件 • 裁剪Istio相关CRD,简化系统结构ServiceMesher公众号0 码力 | 15 页 | 3.86 MB | 6 月前3 七牛容器云ServiceMesh实践涉及K8S集群约20+集群 • 功能迭代 • 先南北,后东西 • 先原生,后二开 • 先管控面,后数据面落地场景—Spock测试平台 • 历史问题 • 分布式系统性能测试问题 定位难 • 多版本并发测试 • 故障注入较困难(代码侵 入性强) • 测试环境不稳定,后端Pod 频繁重启 • 解决方案 • Contour产品化 • Istio的灰度发布和流量管理 • Istio的Tracing产品化落地场景—云存储系统 • 基于Istio的Tracing产品化 • 跨集群流量调度七牛容器云产品逻辑架构 Kubernetes + Docker + 生态链七牛容器云产品未来发展 • 更多功能 • 故障熔断 • 故障注入 • 业务配置动态分发 • 优化升级 • 性能优化: • DPDK + eBPF • 系统优化 • 根据需求裁剪Istio。解耦Envoy和其他组件 • 裁剪Istio相关CRD,简化系统结构ServiceMesher公众号0 码力 | 15 页 | 3.86 MB | 6 月前3
 蚂蚁金服双十一 Service Mesh 超大规模落地揭秘ServiceMesh-结论-方案 应用A 应用 应用B 应用C 应用D 应用E SOA 解耦了不同的业务团队之前的耦合 服务注册中心客户端 限流熔断客户端 动态配置客户端 故障注入客户端 Service Mesh 解耦了业务开发与基础团队之前的耦合 应用代码 业务应用开发 基础设施开发 Mesh 化10 三、方案落地 方案落地11 最终选型:自研数据面+轻量 SDK,我们给出的答案是 With MOSN Pod New With MOSN 扩容 缩容 资源 Buffer Pod APP:4C8G Pod APP:4C8G MOSN:4C2G Operator 注入 传统接入 VS 原地接入 4C2G? Elastic Heap CPU超卖17 方案落地-MOSN 升级策略-有感升级 MOSN V1 APP MOSN V1 APP0 码力 | 26 页 | 2.71 MB | 6 月前3 蚂蚁金服双十一 Service Mesh 超大规模落地揭秘ServiceMesh-结论-方案 应用A 应用 应用B 应用C 应用D 应用E SOA 解耦了不同的业务团队之前的耦合 服务注册中心客户端 限流熔断客户端 动态配置客户端 故障注入客户端 Service Mesh 解耦了业务开发与基础团队之前的耦合 应用代码 业务应用开发 基础设施开发 Mesh 化10 三、方案落地 方案落地11 最终选型:自研数据面+轻量 SDK,我们给出的答案是 With MOSN Pod New With MOSN 扩容 缩容 资源 Buffer Pod APP:4C8G Pod APP:4C8G MOSN:4C2G Operator 注入 传统接入 VS 原地接入 4C2G? Elastic Heap CPU超卖17 方案落地-MOSN 升级策略-有感升级 MOSN V1 APP MOSN V1 APP0 码力 | 26 页 | 2.71 MB | 6 月前3
 Service Mesh 在『路口』的产品思考与实践webhook/operator 机制可以方便地实现注入、升级 等运维操作 • 然而大量系统还没有跑在 k8s 上,所以我们通过 agent 的模式来管理 sidecar 进程,从而可 以使 Service Mesh 能够帮助老架构下的应用完成服务化改造,并支持新架构和老架构下服务 的统一管理。 VM 应用进程 Sidecar Agent SOFAMosn 注入 升级 SOFAMosn:https://github0 码力 | 40 页 | 15.86 MB | 6 月前3 Service Mesh 在『路口』的产品思考与实践webhook/operator 机制可以方便地实现注入、升级 等运维操作 • 然而大量系统还没有跑在 k8s 上,所以我们通过 agent 的模式来管理 sidecar 进程,从而可 以使 Service Mesh 能够帮助老架构下的应用完成服务化改造,并支持新架构和老架构下服务 的统一管理。 VM 应用进程 Sidecar Agent SOFAMosn 注入 升级 SOFAMosn:https://github0 码力 | 40 页 | 15.86 MB | 6 月前3
 Service Mesh结合容器云平台的思考和实践服务发现 • Envoy生命周期管理 • Envoy配置下发 • 服务模型 • 配置模型 • 负载均衡 • 智能路由(灰度、蓝绿) • 流量管理(超时、重试、熔断) • 故障处理 • 故障注入 • … Mixer • 前提条件检查:安全认证,黑白名单, ACL检查 • 限流管理 • 遥测报告:日志监控 控制平面 数据平面 Istio-Auth • 服务间认证 • 终端用户认证Istio的核心组件 inject过程中,除了proxy镜像作为sidecar之外,每个pod还会带上initcontainer(Kubernetes中的概 念),具体镜像为proxy_init。proxy_init通过注入iptables规则改写流入流出pod的网络流量规则,使得 流入流出pod的网络流量重定向到proxy的监听端口,而应用对此无感。Init Container的工作原理 istio/tools/deb/istio-iptables0 码力 | 28 页 | 3.09 MB | 6 月前3 Service Mesh结合容器云平台的思考和实践服务发现 • Envoy生命周期管理 • Envoy配置下发 • 服务模型 • 配置模型 • 负载均衡 • 智能路由(灰度、蓝绿) • 流量管理(超时、重试、熔断) • 故障处理 • 故障注入 • … Mixer • 前提条件检查:安全认证,黑白名单, ACL检查 • 限流管理 • 遥测报告:日志监控 控制平面 数据平面 Istio-Auth • 服务间认证 • 终端用户认证Istio的核心组件 inject过程中,除了proxy镜像作为sidecar之外,每个pod还会带上initcontainer(Kubernetes中的概 念),具体镜像为proxy_init。proxy_init通过注入iptables规则改写流入流出pod的网络流量规则,使得 流入流出pod的网络流量重定向到proxy的监听端口,而应用对此无感。Init Container的工作原理 istio/tools/deb/istio-iptables0 码力 | 28 页 | 3.09 MB | 6 月前3
 陌陌Service Mesh架构实践步骤:listener、存量连接、存量数据 Java实现 • 借助JNI与Netty Java实现FD迁移18/24 数据平面升级方式 – 发布流程 容器化发布方式 • 发布过程同时存在新旧两个Agent • 注入新Container • 预留占位Container • Container内部升级 当前方案 运维Agent • 单个Pod升级Agent • 多个Pod发布编排 Agent发布流程19/240 码力 | 25 页 | 1.25 MB | 6 月前3 陌陌Service Mesh架构实践步骤:listener、存量连接、存量数据 Java实现 • 借助JNI与Netty Java实现FD迁移18/24 数据平面升级方式 – 发布流程 容器化发布方式 • 发布过程同时存在新旧两个Agent • 注入新Container • 预留占位Container • Container内部升级 当前方案 运维Agent • 单个Pod升级Agent • 多个Pod发布编排 Agent发布流程19/240 码力 | 25 页 | 1.25 MB | 6 月前3
 Service Mesh Meetup #3 深圳站控制平面功能配置和管理代理,拦截微服务之间的 所有网络通信。Istio 的特点 • HTTP、gRPC、WebSocket 和 TCP 流量的自动负载均衡。 • 通过丰富的路由规则、重试、故障转移和故障注入,可以对流量行 为进行细粒度控制。 • 可插入的策略层和配置 API,支持访问控制、速率限制和配额。 • 对出入集群入口和出口中所有流量的自动度量指标、日志记录和跟 踪。 • 通过强大的基于0 码力 | 45 页 | 18.62 MB | 6 月前3 Service Mesh Meetup #3 深圳站控制平面功能配置和管理代理,拦截微服务之间的 所有网络通信。Istio 的特点 • HTTP、gRPC、WebSocket 和 TCP 流量的自动负载均衡。 • 通过丰富的路由规则、重试、故障转移和故障注入,可以对流量行 为进行细粒度控制。 • 可插入的策略层和配置 API,支持访问控制、速率限制和配额。 • 对出入集群入口和出口中所有流量的自动度量指标、日志记录和跟 踪。 • 通过强大的基于0 码力 | 45 页 | 18.62 MB | 6 月前3
 SOFAMOSN持续演进路径及实践分享支持Router模式 Ø GRPC支持 Ø 协议自动识别 Ø 链式路由扩展 Ø 完善流量管理策略,包括 Retry、DirectResponse、 HTTP Header add/delete、 流控、故障注入等 Ø 支持必要的admin接口性能 0.1.0 0.2.0 0.3.0 0.4.0 Ø 内存复用框架 Ø Slab style buffer Ø Raw-Epoll模式 Ø 读合并 Ø0 码力 | 29 页 | 7.03 MB | 6 月前3 SOFAMOSN持续演进路径及实践分享支持Router模式 Ø GRPC支持 Ø 协议自动识别 Ø 链式路由扩展 Ø 完善流量管理策略,包括 Retry、DirectResponse、 HTTP Header add/delete、 流控、故障注入等 Ø 支持必要的admin接口性能 0.1.0 0.2.0 0.3.0 0.4.0 Ø 内存复用框架 Ø Slab style buffer Ø Raw-Epoll模式 Ø 读合并 Ø0 码力 | 29 页 | 7.03 MB | 6 月前3
 Service Mesh是下一代SDN吗:从通信角度看Service Mesh的发展租户间的隔离和访问控制 • 用户层面的访问控制 • 按用户的API访问限流 • API访问日志和计费 Service Mesh:统一的微服务通信管理 • 服务发现 • 负载均衡 • 重试,断路器 • 故障注入 • 分布式调用跟踪 • Metrics 收集产品化增强-支持多网络平面 电信系统一般会有多个网络平面的,主要原因包括:避免不同功能的网络之间的 相互影响; 网络设计冗余,增强系统网络的健壮性;0 码力 | 27 页 | 11.99 MB | 6 月前3 Service Mesh是下一代SDN吗:从通信角度看Service Mesh的发展租户间的隔离和访问控制 • 用户层面的访问控制 • 按用户的API访问限流 • API访问日志和计费 Service Mesh:统一的微服务通信管理 • 服务发现 • 负载均衡 • 重试,断路器 • 故障注入 • 分布式调用跟踪 • Metrics 收集产品化增强-支持多网络平面 电信系统一般会有多个网络平面的,主要原因包括:避免不同功能的网络之间的 相互影响; 网络设计冗余,增强系统网络的健壮性;0 码力 | 27 页 | 11.99 MB | 6 月前3
 蚂蚁金服Service Mesh渐进式迁移方案) 都没有改造,直连 服务器端有改造,单跳 客户端有改造,单跳Service Mesh时代的客户端和寻址方式 服务发现 加密 负载均衡 请求路由 目标服务 的标识 序列化 链路追踪 故障注入 日志 监控 Metrics 熔断 限流 服务降级 前置条件检查 身份认证 密钥管理 访问控制 …… 下沉到 Service Mesh 轻量级客户端 传统 侵入式 客户端 客户端应该尽可能的轻薄通用:0 码力 | 40 页 | 11.13 MB | 6 月前3 蚂蚁金服Service Mesh渐进式迁移方案) 都没有改造,直连 服务器端有改造,单跳 客户端有改造,单跳Service Mesh时代的客户端和寻址方式 服务发现 加密 负载均衡 请求路由 目标服务 的标识 序列化 链路追踪 故障注入 日志 监控 Metrics 熔断 限流 服务降级 前置条件检查 身份认证 密钥管理 访问控制 …… 下沉到 Service Mesh 轻量级客户端 传统 侵入式 客户端 客户端应该尽可能的轻薄通用:0 码力 | 40 页 | 11.13 MB | 6 月前3
共 12 条
- 1
- 2













