蚂蚁金服Service Mesh渐进式迁移方案Service Mesh Meetup #4 上海站 蚂蚁金服Service Mesh 渐进式迁移方案 2018.11.25 敖小剑 @ 蚂蚁金服 中间件 龙轼 @UC 基础研发部1 Service Mesh演进路线 1 2 实现平滑迁移的关键 3 DNS寻址方案的演进 4 5 总结 DNS寻址方案的后续规划ü 对未来长期目标的认可 • Service Mesh(带控制平面,如Istio) 序列化 链路追踪 故障注入 日志 监控 Metrics 熔断 限流 服务降级 前置条件检查 身份认证 密钥管理 访问控制 …… 下沉到 Service Mesh 轻量级客户端 传统 侵入式 客户端 客户端应该尽可能的轻薄通用: 实现简单,方便跨语言,减少升级可能 最简单,最通用,支持最广 泛的寻址方式方式是什么? 基于服务 发现的寻 址方式ü DNS寻址 • 支持度最好,使用最普遍0 码力 | 40 页 | 11.13 MB | 6 月前3
Service Mesh 在蚂蚁金服生产级安全实践Pod 身份,并转换成 SPIFFE ID。 安全Sidecar 通过密钥将 SPIFFE ID 签发为 JWT-SVID,返回给应用 A。 应用 A 在服务调用中带上 JWT-SVID 来声明自己的身份。使用可信身份服务构建敏感数据下发通道 身份校验 从应用 A 发起的调用上下文中获取 JWT-SVID,并构造 HTTP 请求,调用安全Sidecar提供的 JWT- SVID 验证接口。 的Selector 范围,实现功能的灰度上线能力Service Mesh Sidecar 的TLS 生产级落地实践 灰度控制关注 ServiceMesher 微信公众号 获取社区最新信息 关注 金融级分布式架构 微信公众号 获取 SOFAStack 最新信息 ServiceMesher 社区是由一群拥有相同价值观和理念的志愿者们共同发起, 于 2018 年 4 月正式成立,致力于成为 Service0 码力 | 19 页 | 808.60 KB | 6 月前3
进击的 Traefik | 云原生边缘路由器探秘image: jenkins/jenkins:lts environment: - JENKINS_OPTS=--prefix=/jenkins labels: # 因为50000也暴露了,所以声明下端口 - "traefik.http.services.jenkins.LoadBalancer.server.Port=8080" - "traefik.http.routers.jenkins0 码力 | 35 页 | 8.58 MB | 6 月前3
Service Mesh的延伸 — 论道Database Mesh业务方处理事务 数据库 • 有状态 • 根据SQL路由 • 数据库自动处理事务数据库的进化趋势 • SQL • ACID • 分布式 RDBMS • SQL • BASE ACID • 分布式 NoSQL • SQL • ACID+BASE • 分布式 NewSQLNewSQL的分类 New Architecture Transparent Sharding Middleware sync read分布式事务:定义 传统事务:ACID Atomicity - 原子性 Consistency - 一致性 Isolation - 隔离性 Durability - 持久性 柔性事务:BASE Basically Available - 基本可用 Soft state -软状态 Eventual consistency - 最终一致性分布式事务:分类 XA 最大努力送达 原生支持 不支持 不支持 Try接口支持 并发性能 严重衰退 无影响 无影响 略微衰退 适合场景 短事务 并发较低 事务最终成功 高并发 长事务 应用方控制并发 高并发 长事务 高并发分布式事务:柔性事务自动化 快照记录 • INSERT • 解析 • 记录 • UPDATE&DELETE • SELECT • 记录 SQL逆向 • INSERT -> DELETE •0 码力 | 35 页 | 4.56 MB | 6 月前3
Service Mesh 发展趋势(续) 蚂蚁金服 | 骑士到中盘路向何方?Envoy App Mesh Traffic Director Istio Linkerd 2.* 支持 支持 不支持 不支持? 支持? 未知,拭目以待 未知,拭目以待 历史总是惊人的相似,螺旋式上升?Part 3:ServiceMesh灵魂拷问三:要不要支持虚拟机? Linkerd 1.* Envoy Istio Linkerd 2.* 支持 不支持 第一个转折容易理解:相比虚拟机,k8s提供了太多便利 cemesh, 再上容器/k8s? 每个公司都会有自己的实际情况和选择。 DreamMesh抛砖引玉(2)-CloudNative 2018-02-10 蚂蚁金服Service Mesh渐进式迁移方案 2018-11-25 Service Mesh 和 k8s 落地可能的多种演进路线Part 3:ServiceMesh灵魂拷问三:要不要支持虚拟机? Google Traffic Di Director的选择:ServiceMesh先行 Traffic Director 官方文档如是说:“按您的节奏进行现代化改造”Part 3:ServiceMesh灵魂拷问三:要不要支持虚拟机? 托管式实例组:效仿容器和k8s的方式来管理虚拟机 容器的硬件配置 实例模版的硬件配置 硬件 镜像文件的基础镜像 实例模版的操作系统配置 操作系统 镜像文件 自动启动脚本 创建应用 启动业务容器 按照实例模版启动虚拟机+应用0 码力 | 43 页 | 2.90 MB | 6 月前3
大规模微服务架构下的Service Mesh探索之路而且,proxy不仅仅用于mesh Istio • 控制平面:Istio是目前做的最好的 • 认可Istio的设计理念和产品方向 • 性能和稳定性是目前最大问题 • 对非k8s环境的支持不够理想 • 没有提供和侵入式框架互通的解决方案Sofa Mesh:istio的增强扩展版 Pilot Auth Mixer Envoy Pilot Auth Mixer Golang Sidecar Istio现有架构 Service Mesher线下Meetup 下回分解:增强版Pilot和Edge Sidecar开源策略 Open Source 3蚂蚁金服,开源开放 ü 从 4 月份开始逐步开源金融级分布式架构中的各个组件: • SOFA Boot • SOFA RPC • SOFA Tracer • SOFA Lookout ü 科技开放,走出去看更大的生态 • 蚂蚁有丰富的业务场景,技术 蚂蚁本身业务上的开放策略,要求技术也要开放,而且要在更丰富的场景下去磨炼 • 在此期间,我们趟坑无数,走了N多弯路,演进了N个版本,我们期望能过通过开源和 开放,让社区跑的更快,节省更多时间 • 我们认为金融领域下的分布式架构设计有独特的原则,作为实践者,我们期望能在标准 化上跟社区一起沉淀和共建,期望做些贡献,有些建树Sofa Mesh的开源态度 ü 开源的时机 • 产品完成甚至使用多年之后 ü 开源的内容 •0 码力 | 37 页 | 7.99 MB | 6 月前3
Apache SkyWalking 在 Service Mesh 中的可观察性应用高洪涛 Tetrate 创始工程师Who 高洪涛 美国S ervice Mesh 服务商 Tetrate 创始工程师。原华为软件开发云技术专家,对云原 生产品有丰富的设计,研发与实施经验。对分布式数据库,容器调度,微服务, ServicMesh 等技术有深入的了解。 目前为 Apache ShardingSphere 和 Apache SkyWalking 核心贡献者, Istio 贡献者。 26/28维度匹配-service 命名规则 Version|App|Namespace|Cluster v1|projuctpage|bookinfo|product-demo 27/28感谢聆听 欢迎关注,获取最新分布式架构内容 关注服务网格,关注 ServiceMesher0 码力 | 29 页 | 1.38 MB | 6 月前3
七牛容器云ServiceMesh实践80%以上产品线部署Contour & Istio • 涉及K8S集群约20+集群 • 功能迭代 • 先南北,后东西 • 先原生,后二开 • 先管控面,后数据面落地场景—Spock测试平台 • 历史问题 • 分布式系统性能测试问题 定位难 • 多版本并发测试 • 故障注入较困难(代码侵 入性强) • 测试环境不稳定,后端Pod 频繁重启 • 解决方案 • Contour产品化 • Istio的灰度发布和流量管理 Istio南北流量分流策略产品化 • 基于Istio的QoS产品化 • 跨集群流量调度 • 基于Istio的Tracing产品化落地场景—大数据产品 • 系统优化之路 • 多版本灰度升级 • 根据流量做横向伸缩 • 分布式系统性能测试问题 定位难 • 解决方案 • Istio南北流量分流策略产品化 • 基于Istio的QoS产品化 • 基于Istio的Tracing产品化 • 跨集群流量调度七牛容器云产品逻辑架构0 码力 | 15 页 | 3.86 MB | 6 月前3
陌陌Service Mesh架构实践Java、PHP、Python、Go、NodeJs • Redis传输协议 / 复用Redis客户端 • 服务发布Proxy / 并行调用Proxy 服务治理 • 服务治理平台、配置中心 • 监控、日志、分布式跟踪 • 异步调用、压测7/24 流量代理机制 PHP服务发布入流量代理 PHP并行调用出流量代理 16年起开始使用流量代理机制解决跨语言服务治理问题8/24 分享主题:字号 分享嘉宾 发布服务数 Mesh实践尚处于起步阶段,当前完成数据平面研发与线上业务的小流量方证 未来展望 • 年内完成大规模业务推广落地 • 向社区方案靠拢、提供一套基于Java的完整实现方案感谢聆听 欢迎关注,获取最新分布式架构内容 关注服务网格,关注 ServiceMesher0 码力 | 25 页 | 1.25 MB | 6 月前3
Service Mesh 微服务架构设计Service Mesh 微服务架构设计 杨彪 美团点评高级架构师 2019.10.26 Service Mesh Meetup #7 成都站原蚂蚁金服专家,著有《分布式服务架构:原理、 设计与实战》和《可伸缩服务架构:框架与中间件》 两本书。有近10年互联网、游戏和支付相关的工作 经验,目前从事产业互联网。 杨彪,美团高级架构师1 漫谈服务架构的演进史 2 微服务架构设计的现状 :整体服务变多,维护比单一服务困难; Network congestion and latency:网络通信复杂,调用链路变长,服务等待时间变长; Data integrity:数据一致性难保证,面临分布式事物问题; Management:管理运维成本高,需要有成熟的DevOps平台,另外日志看查困难; Development and testing:开发测试成本高,依赖服务较多,Debug困难;0 码力 | 36 页 | 26.53 MB | 6 月前3
共 20 条
- 1
- 2













