Service Mesh的实践分享Mesh的实践分享 郑德惠 2019.1.6 Service Mesh Meetup #5 广州站• 唯品会内部Service Mesh的演进 • 与Istio的区别 • 实践中踩过的坑 • 今年规划(Roadmap)内部Service Mesh的演进 我是作者名称服务化体系1.0 • OSP(Open Service Platform) • Thrift over Netty • 基于Java语法的DSL 难度大。升级Sidecar需要业务容器一起发布,协调成本 高,而且全量升级sidecar对整个系统的动荡太大 难度小。切换流量到remote proxy可以实现用 户无感知无损升级。可以轻易的实现全网一月 一升级,快速的迭代、落地、反馈 动态扩容难度 单机使用,无须扩容 需预先根据宿主机的配置调整Proxy的资源以 应对客户端增多的情况。容量超标则临时转移 到remote proxyRemote Proxy的价值 • 绑定K8s • 历史原因导致长期都会物理机 和容器并存,内部需求必须要 同时支持物理机和云 • 绑定K8s能够享受K8s的红利, 但也限制了使用范围 +服务治理程度更接地气 • 不停的迭代、落地、反馈,打 造一系列的实用的治理功能 • 规则路由、标签路由、邻近机房 路由、Hash路由、基于权重的路 由、熔断、健康探测、超时重试、 限流降级等等 • 契约化治理,服务接口变更diff并0 码力 | 30 页 | 4.80 MB | 6 月前3
陌陌Service Mesh架构实践服务量级的增长使得Java应用的服务治理问题 也逐渐暴露出来9/24 问题 /02 借助Service Mesh解决现有架构痛点10/24 架构痛点分析 服务治理能力滞后 非Java应用 Java应用 SDK迭代进度缓慢 SDK推广升级缓慢 危害 无法实现架构统一 稳定性受损、引发故障 架构方案受限 …11/24 引入Service Mesh 是否足够成熟 是否有替代方案 是否可接受成本 是否能兑现价值 数据平面Agent14/24 整体架构 数据平面 • 现有协议的流量转发 • Agent平滑升级机制 控制平面 • 轻量的Pilot Proxy • 向Istio的标准协议靠拢 重点目标 长期规划15/24 数据平面实践细节 • 部署方式 • 升级方式 • 容灾方式 • 性能问题 • 资源问题 • 兼容问题 关键设计 关键问题16/24 数据平面部署方式 容器化运行方式0 码力 | 25 页 | 1.25 MB | 6 月前3
蚂蚁金服Service Mesh渐进式迁移方案25 敖小剑 @ 蚂蚁金服 中间件 龙轼 @UC 基础研发部1 Service Mesh演进路线 1 2 实现平滑迁移的关键 3 DNS寻址方案的演进 4 5 总结 DNS寻址方案的后续规划ü 对未来长期目标的认可 • Service Mesh(带控制平面,如Istio) • Kubernetes • 微服务 ü 现实中有很多挑战 • 还有很多应用没有实现微服务化 • 还有 预计2019年初 蚂蚁金服主站落地:目标与现状 百川归海蚂蚁金服主站落地方案的实施原则 Target 长期 目标 Step By Step 分步 进行 Resiliency 操作 弹性 符合远期规划 • 不走弯路,不浪费投资 • 每一步都为下一步奠定基础 • 谢绝中途推倒重来 循序渐进 • 不要有一步登天的幻想,小步快跑 • 每一步的工作量和复杂度都控制在可 接受范围内 • 每一步都简单方便,切实可行 缺点是再往后走 • 由于没有k8s的底层支持,就不得不做大量工作 • 尤其istio的非k8s支持,工作量很大 • 而这些投入,在最终迁移到k8s时,又被废弃 ü 结论: • 不符合蚂蚁的远期规划(k8s是我们的既定目标) • 会造成投资浪费(k8s铺开在即) 演进路线2分析 部署在 非k8s上 Service Mesh (Sidecar模式) 部署在 非k8s上 Service0 码力 | 40 页 | 11.13 MB | 6 月前3
蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘 奕杉Agenda Ø背景 Ø构架 Ø能力 Ø性能 ØRoadMap背景为什么蚂蚁需要ServiceMesh Ø拥抱微服务,云原生 • SOFA 5规划落地 • 兼容K8S的智能调度体系 Ø运维体系的有力支撑 • LDC • 弹性伸缩 • 蓝绿/容灾/.. Ø金融级网络安全 • 金融级鉴权体系 • 云原生zero trust网络安全趋势 Ø异构语言体系融合 worker worker Read / Codec Read / Codec Read Write Write Write write data Codec Worker Pool线程模型规划: SEDA 10 Client Listener IO Pool Server Server Server IO Event Handler Pool data Codec Worker golang 版本的20 倍 ØGolang 对 SHA, MD 等 HASH 算法都有汇编优化 Ø除 p384,RSA 外,其他算法 golang 原生性能好于boring SSL golang性能优化规划 15 eBPF Keyless Center 加速卡 DPDK MOSN 用户态 内核态 加速设备 1. SSL handshake 2. Offload decrypt Offload0 码力 | 44 页 | 4.51 MB | 6 月前3
SOFAMOSN持续演进路径及实践分享wugou.cyf@antfin.com 2019.1.6 Service Mesh Meetup #5 广州站Agenda Ø 背景 & 概览 Ø 持续演进路径 & 技术案例 Ø 实践案例 Ø 规划 & 展望 Ø QA背景 & 概览数据平面概览 SOFAMOSN • C实现,支持多语言扩展 • 基于Nginx扩展 • 开发不活跃 • 老牌代理系统,业界广 泛使用,服务各类场景 • C++实现 Zone内访 问B服务 3. 若当前 Rzone内不 存在B服务, 尝试在本机 房内部查找 3. 若当前机 房内不存在 B服务,路 由到Gzone 机房UC落地 - XProtocol DNS方案规划 & 展望MOSNG 待开源MOSN-X eBPF 加速卡 DPDK MOSN SSL Offload User Protocol Stack K8S Ingress Microservice0 码力 | 29 页 | 7.03 MB | 6 月前3
严选 ServiceMesh 实践服务治理:RPC 框架 vs 服务治理平台 2. 多语言 vs Java 3. 开源 vs 自研2/24 /01 /02 /03 严选 Service Mesh 演进 混合云架构落地实践 规划与展望3/24 严选ServiceMesh演进 /014/24 严选第一代 Service Mesh 架构 • 使用 Consul 作为服务发现组件 • 数据面:cNginx • 控制面:Consul 导致性能下降的非常迅速 • 社区也已经意识到并着手进行优化 • 作为 Mixer 策略执行的替代品, Istio 的 RBAC 也是可以满足一部分功能的,比如服务白名 单我们就是通过 RBAC 来实现21/24 规划与展望 /0422/24 性能优化方向 • 方案1: 采用 eBPF/xDP(sockops),优化路径为 SVC <-> Envoy,延迟性能提升10-20%。 Envoy 部署方式 per0 码力 | 25 页 | 2.07 MB | 6 月前3
七牛容器云ServiceMesh实践API版本兼容两种方式 • 数据面优先,控制面按需迭代七牛容器云Service Mesh发展 • 产品发展 • 依托容器云PaaS中台 • 辐射业务线:Spock,Kodo,Dora等 • 先内部普及踩坑,后私有云能力产品化 • 使用规模 • 80%以上产品线部署Contour & Istio • 涉及K8S集群约20+集群 • 功能迭代 • 先南北,后东西 • 先原生,后二开 • 先0 码力 | 15 页 | 3.86 MB | 6 月前3
蚂蚁金服 API Gateway Mesh 思考与实践• 微服务网关 • 蚂蚁金服 RPC 协议 • 安全\鉴权\监控 • Netty 异步化 • 私有协议 MMTP 缺点: • API 网关变更风险 • 业务分级隔离需求 • 大促容量规划问题 HTTP/MMTP sofarpc10/21 去中心化网关架构(2016-2018) APP 去中心化网关架构 LB spanner APP1 Logic Logic API0 码力 | 22 页 | 1.72 MB | 6 月前3
Service Mesh的延伸 — 论道Database MeshX Proxy 版本:3.0.X 分布式事务 版本:3.1.X Sidecar 版本:4.0.X 多数据副本 版本:4.1.X 弹性伸缩 版本:4.2.X 已完成 图例: 进行中 规划中联合社区打造开源解决方案Sharding-Sphere:官网 http://shardingsphere.io/Sharding-Sphere:官档 http://shardingsphere0 码力 | 35 页 | 4.56 MB | 6 月前3
Service Mesh 高可用在企业级生产中的实践– 总结 • 从手段看高可用 • 从架构看高可用 • 从硬件看高可用 • 从软件看高可用 • 从治理看高可用 本质35/总页数 写在最后 – 开源与社区 • 什么是开源? • 事物规划为可以公开访问的,因此人们可以修改并分享。 • 也泛指一组概念:开源的方式! • 如何参与开源? • 开源能带来哪些好处?36/总页数 • Service Mesh 概述 • Consul作为注册中心在云环境的实践与应用0 码力 | 38 页 | 1.38 MB | 6 月前3
共 13 条
- 1
- 2













