Service Mesh 发展趋势(续) 蚂蚁金服 | 骑士到中盘路向何方?要架构,还是要性能? 让我们来对ServiceMesh做一次灵魂拷问,首先:Istio的回答:架构优先,性能暂放一边 Part 1:ServiceMesh灵魂拷问一:要架构还是要性能? Istio 0.1 - 1.0 Mixer 0.1 - 1.0 In- process AdapterIstio Control Plan 为什么Istio选择Mixer和Proxy分离的架构? Part 1:Ser ConfigurationsOut-of-process Adapter 7/39 Istio的新回答:架构继续优先,性能继续放一边 Part 1:ServiceMesh灵魂拷问一:要架构还是要性能? Istio 1.1 – 1.2 Mixer 1.1 - 1.2Istio Control Plan 为什么Istio选择Out-of-Process Adapter? Part 1:Servic Infrastructure Backend ? Adapters Configurations 优点: • 架构更优雅,职责更分明,边界更清晰 • Out-of-Process Adapter不再是Istio的组成部分 • 安装部署 • 配置 • 维护Part 1:ServiceMesh灵魂拷问一:要架构还是要性能? Mixer v1 架构的优点 • 集中式服务: • 提高基础设施后端的可用性0 码力 | 43 页 | 2.90 MB | 6 月前3
Service Mesh是下一代SDN吗:从通信角度看Service Mesh的发展Service Mesh是下一代SDN吗? 从通信的角度看Service Mesh的发展 赵化冰 中兴通讯 软件专家/Istio Committer 2019.10.26 Service Mesh Meetup #7 成都站什么是Service Mesh?- by Willian Morgan(Buoyant) A service mesh is a dedicated infrastructure 复杂的服务拓 扑,服务网格负责在这些拓扑中实现请求的可靠传递。 在实践中,服务网格通常实 现为一组轻量级网络代理,它们与应用程 序一起部署,但对应用程序透明。什么是Service Mesh?- by Istio 服务发现 负载均衡 流量控制 ... 黑白名单 限流 ... 身份认证 通信加密 权限控制 ... 调用追踪 指标收集 ...什么是Service Mesh?- 从网络的视角 Service Desktop OtherSystems Mobile DexMesh Ingress Pod Microservice Envoy (Telemetry, Policy check) 配置数据(服 务信息,路由 信息等) 定制Istio组件 应用微服务 业务请求 控制流 图例说明 Pilot Mixer APP: Canary Deployment K8s API0 码力 | 27 页 | 11.99 MB | 6 月前3
Service Mesh 在『路口』的产品思考与实践零信任网络9/39 二、 在当下『路口』的思考10/39 Part 2: 在当下『路口』的思考 云原生方案? 落地有 gap 图片来源:https://istio.io/docs/concepts/what-is-istio/11/39 Part 2: 在当下『路口』的思考 Greenfield vs Brownfield Greenfield • 绿地,未开发过的土地 Mixer V2 遥遥无期 • Pilot 性能也有较大隐患 现实场景 – 云原生方案离生产级尚有一定距离 图片来源: https://istio.io/docs/reference/config/policy-and-telemetry/mixer-overview/14/39 Part 2: 在当下『路口』的思考 我们笃信云原生是『诗和远方』 图片来源: https://www 2017年底开始调研并探 索 Service Mesh 技术, 并确定为未来发展方向 技术预研 01 2018年初开始用Golang 开发 Sidecar SOFAMosn, 年中开源基于 Istio 的 SOFAMesh 技术探索 02 2018年开始内部落地,第一 批场景是替代 Java 语言之外 的其他语言的客户端 SDK, 之后开始内部小范围试点 小规模落地 030 码力 | 40 页 | 15.86 MB | 6 月前3
Apache SkyWalking 在 Service Mesh 中的可观察性应用生产品有丰富的设计,研发与实施经验。对分布式数据库,容器调度,微服务, ServicMesh 等技术有深入的了解。 目前为 Apache ShardingSphere 和 Apache SkyWalking 核心贡献者, Istio 贡献者。 1/28/01 /02 /03 SkyWalking 简介 遇到的挑战 应用方案 ServiceMesh 场景 下 SkyWalking 面 临的挑战 针对 Mesh 场景方案的演化 Instance 端点 URL,RPC,函数 Endpoint 观察维度 9/28遇到的挑战 /02 Service Mesh 场景下 SkyWalking 面临的挑战 ( Istio ) 10/28可观测性 11/28Istio 1.5 架构图 12/28挑战1:技术路线多变 基于 Log 成熟、但性能低 Mixer 基于 Metric 高效、但技术门槛高 Mixerless 13/28挑战2:无 13/28挑战2:无 Tracing VS 14/28挑战3:维度匹配-Mixer Instance Service Endpoint 15/28挑战3:维度匹配-Telemetry2 Instance Service Endpoint 16/28应用方案 /03 针对 Mesh 场景下的方案演化 17/28技术路线全覆盖-Mixer 18/28技术路线全覆盖-Mixer0 码力 | 29 页 | 1.38 MB | 6 月前3
Observability On Service Meshare using instrument agents or SDKs. Or SkyWalking uses the name you defined in platform such as Istio. • Service Instance. Each one workload in the Service group is named as an instance. Like pods HTTP URI path or gRPC service class + method signature. Core ConceptsOAP Key Feature Multiple telemetry sources 1. Language based Agent 2. Service Mesh Probe 3. Other eco-system, like ZipkinObservability0 码力 | 19 页 | 5.53 MB | 6 月前3
Service Mesh结合容器云平台的思考和实践故障处理 • 故障注入 • … Mixer • 前提条件检查:安全认证,黑白名单, ACL检查 • 限流管理 • 遥测报告:日志监控 控制平面 数据平面 Istio-Auth • 服务间认证 • 终端用户认证Istio的核心组件 • Envoy 是一个高性能轻量级代理,它掌控了service的入口流量和出口流量,它提供了很多内置功能,如动态负 载服务发现、负载均衡、TLS终止、HTTP/2 金丝雀部 署)、流量管理(超时、重试、熔断)功能。Pliot接收用户指定的高级路由规则配置,转换成Envoy的 配置,使这些规则生效。 • Istio-Auth 服务间认证和终端用户认证功能Istio的Pilot功能解析Pilot官方架构Istio – EnvoyPilot-Agent的核心流程解读Pilot工作流程Pilot-Agent的部署形式 pilot-agent在pilot/cmd包下面,是个单独 d包下面,是个单独 的二进制。 pilot-agent跟envoy打包在同一个docker镜 像里,镜像由Dockerfile.proxy定义, Makefile(include了tools/istio- docker.mk)把这个dockerfile build成了 ${HUB}/proxy:${TAG}镜像,也就是 Kubernetes里跟应用放在同一个pod下的 sidecar。非Kubernetes情况下需要把0 码力 | 28 页 | 3.09 MB | 6 月前3
大规模微服务架构下的Service Mesh探索之路蚂蚁有大量的扩展和定制化需求 • 我们非常认可envoy在数据平面上的表现开源方案选择之第二代Service Mesh Istio • 第一选择,重点关注对象 • 奈何迟迟不能发布生产可用版本 • 性能和稳定性远远不能满足蚂蚁的 要求 • 但我们非常认可Istio的理念和方向 Conduit • 只支持k8s,而蚂蚁尚未普及k8s • 数据平面由Rust编写,过于小众,难于 从社区借力。 司的选择之一:自研 华为:CES Mesher • 使用Golang编写 • 由go chassis演进而来 • 走的是已有类库->加proxy->再加 控制平面的路线 • 部分对接Istio • 细节暂时不清楚,即将开源 新浪微博:Motan Mesh • 也是使用Golang编写 • 全新实现(原有类库是基于Java) 老成持重的稳健思路:以proxy为切入口,第 一时间获取跨语言和技术栈下沉的红利,立足 数据平面选择Envoy:成熟产品,符合 腾讯语言体系,内部广泛使用 • 控制平面据传“挣扎了一下”,最终还 是选择Istio,进行定制和扩展,解耦k8s国内公司的选择之三:另辟蹊径 UCloud:Service Mesh • 非常有意思的轻量ServiceMesh实践 • 从Istio中剥离Pilot和Envoy • 去掉Mixer和Auth • 定制Pilot,实现ETCD Adapter0 码力 | 37 页 | 7.99 MB | 6 月前3
七牛容器云ServiceMesh实践优势 • 兼容Istio生态,融入Service Mesh生态 • 南北向流量使用Envoy • 兼容Kubernetes标准Restful接口 • 统一的Kubernetes管理接口 • Gimbal生态 • 多集群入口流量整合管理 • 劣势 • 缺少大规模落地案例 • 功能/非功能仍需加强Contour & Istio • 南北向流量 • API版本共存(Istio & Kubernetes Kubernetes Ingress) • 东西向流量 • Istio支持全量功能 • Contour支持Tracing能力 • 数据面共存 • 共用边车组件Envoy七牛现有Service Mesh体系 • Istio产品化 • 东西流量产品化 • 南北流量产品化 • TLS管理优化 • Contour增强 • 入口流量管控 • 跨集群调度 • 发展策略 • API版本兼容两种方式 80%以上产品线部署Contour & Istio • 涉及K8S集群约20+集群 • 功能迭代 • 先南北,后东西 • 先原生,后二开 • 先管控面,后数据面落地场景—Spock测试平台 • 历史问题 • 分布式系统性能测试问题 定位难 • 多版本并发测试 • 故障注入较困难(代码侵 入性强) • 测试环境不稳定,后端Pod 频繁重启 • 解决方案 • Contour产品化 • Istio的灰度发布和流量管理0 码力 | 15 页 | 3.86 MB | 6 月前3
在Kubernetes上部署高可用的Service Mesh监控cluster.Voila!Monitoring your service meshMonitoring your service mesh - istio ● https://www.katacoda.com/courses/istio /deploy-istio-on-kubernetes ● Mixer, pilot and envoy exposes prometheus metrics to collect data from istio components. ● Deploy example bookinfo app using istio.Monitoring your service mesh - istio ● https://www.katacoda.com/courses/istio /deploy-istio-on-kubernetes ● Mixer to collect data from istio components. ● Deploy example bookinfo app using istio.Monitoring your service mesh - istio ● https://www.katacoda.com/courses/istio /deploy-istio-on-kubernetes ● Mixer0 码力 | 35 页 | 2.98 MB | 6 月前3
蚂蚁金服Service Mesh渐进式迁移方案5 总结 DNS寻址方案的后续规划ü 对未来长期目标的认可 • Service Mesh(带控制平面,如Istio) • Kubernetes • 微服务 ü 现实中有很多挑战 • 还有很多应用没有实现微服务化 • 还有很多应用没有运行在kubernetes之上 • Istio目前还不够稳定,也无法原生支持我们的规模 • 现有系统中的众多应用不可能一夜之间全部迁移 ü 最重要的:平滑迁移 Mesh (Istio模式) 部署在K8s上 Service Mesh (Sidecar模式) 部署在 非k8s上 Service Mesh (Istio模式) 应用终极形态 应用现状 1 1 1 2 2 2 3 4 4 4 比较理想,绝大部分 投入最终都将保留 Service Mesh (Sidecar模式) Service Mesh (Istio模式) 带完善的控制 带完善的控制 平面,如Istio 只有Sidecar, 直接集成周边 不现实 Istio的非k8s支 持投入产出比 太差 背景1:原生Istio无法支撑我们的规模 背景2:k8s(Sigma3.1)将加快普及 K8s普及在即, 不适合再大面积 铺开,快速会师ü 和路线1的核心差别 • 是先上k8s,还是先上Service Mesh • 而且是终极形态的Service Mesh(意味着更偏离目标)0 码力 | 40 页 | 11.13 MB | 6 月前3
共 25 条
- 1
- 2
- 3













