Service Mesh 高可用在企业级生产中的实践• 微服务治理与业务逻辑解耦 • 异构系统的统一治理 • 三大技术优势: • 可观察性 • 流量控制 • 安全 Service Mesh 的优缺点 缺点 • 增加了复杂度 • 整体链路的复杂度 • 操作运维的复杂度 • 需要更专业的运维技能 • 带来延迟 • 平台的适配 Istio-Handbook:Service Mesh 概述6/总页数 互联互通,平滑迁移 Spring Cloud 注册中心 - Consul • 架构设计 • 多地域? • 多租户?16/总页数 通过治理策略保证服务高可用 /0317/总页数 治理策略 & 高可用 描述 N个9 可用性级别 年度停机时间 基本可用 2个9 99% 87.6小时 较高可用 3个9 99.9% 8.8小时 具备故障自动恢复 能力可用 4个9 99.99% 53分钟 极高可用 5个9 99.999% 5分钟18/总页数 大量请求,即系统资源与访问量 出现矛盾的时候,我们为了保证有限的资源能够正常服务,因此对系统按照预设 的规则进行流量限制或功能限制的一种方法。 • 限流的目的是通过对并发访问/请求进行限速或者一个时间窗口内的的请求进行 限速来保护系统,一旦达到限制速率则可以拒绝服务或进行流量整形。 • 限流无非就是针对超过预期的流量,通过预先设定的限流规则选择性的对某些请 求进行限流“熔断”。22/总页数 治理策略0 码力 | 38 页 | 1.38 MB | 6 月前3
Service Mesh 微服务架构设计rule团队;微服务带给我们的麻烦是什么 Complexity :整体服务变多,维护比单一服务困难; Network congestion and latency:网络通信复杂,调用链路变长,服务等待时间变长; Data integrity:数据一致性难保证,面临分布式事物问题; Management:管理运维成本高,需要有成熟的DevOps平台,另外日志看查困难; Development and Cloud的类库模式 Service Mesh的Sidecar模式Service Mesh:Istio架构Service Mesh:Linkerd架构Service Mesh: OCTO-Mesh架构为了解决单体的复杂度问题,我们引入微服务架构 为了解决微服务架构下大量应用部署的问题,我们引入容器 为了解决容器的管理和调度问题,我们引入Kubernetes 为了解决微服务框架的侵入性问题,我们引入Service0 码力 | 36 页 | 26.53 MB | 6 月前3
蚂蚁金服Service Mesh渐进式迁移方案Resiliency 操作 弹性 符合远期规划 • 不走弯路,不浪费投资 • 每一步都为下一步奠定基础 • 谢绝中途推倒重来 循序渐进 • 不要有一步登天的幻想,小步快跑 • 每一步的工作量和复杂度都控制在可 接受范围内 • 每一步都简单方便,切实可行 可操纵性 • 操作层面上要有足够的弹性 • 每个步骤都是可分批进行 • 步步为营,扩大战果 • 杜绝一刀切k8s和Service Mesh落地方案演进路线0 码力 | 40 页 | 11.13 MB | 6 月前3
Service Mesh的实践分享• 智能路由 • 开源智能参数治理 • 现状 • 依赖用户手工配置参数(超时时间、限流) • 服务实例的差异导致配置相当复杂,容易 配置不合理 • 无法动态根据系统指标调整阈值 • 目标 • 用户无需拍脑袋设值,服务治理中心根据 历史指标进行推荐,对不合理的设置进行 建议,如 • 根据应用的历史延迟时间推荐超时设置 • 根据应用的历史流量数据推荐限流设置 • 根据动态指标自动调整配置 链路上某些节点的配置不合理,很难被预 先发现 • 如整条调用链入口要求的超时是500ms,然而 中间某个服务的超时时间是5s。超时时间的严 重差异容易造成资源浪费(上游超时返回了下 游还继续往下调)和数据不一致风险(上游以 为写失败了下游却写成功了) • 目标 • 实时上下游超时治理 • 通过传递剩余超时时间,让下游可以判断是否 继续一些重量级操作 • 实时上下游限流治理 • 下游资源异常(DB调用超时、redis超时等)动0 码力 | 30 页 | 4.80 MB | 6 月前3
阿里巴巴核心应用洛地 Service Mesh 的挑战与机过表实现了一个全新的透明拦截组件#2 短时间内支持电商业务复杂的服务治理功能 •单元化?多环境?基于参数调用的路由? 1. RPC 使用的是 Groovy 脚本,Mesh 不具备。 2. RPC 并没有将参数作为元信息放置 在请求头。#3 短时间内支持电商业务复杂的服务治理功能 •扩展 VirtualService 和 DestinationRule#3 短时间内支持电商业务复杂的服务治理功能0 码力 | 22 页 | 6.61 MB | 6 月前3
大规模微服务架构下的Service Mesh探索之路部分对接Istio • 细节暂时不清楚,即将开源 新浪微博:Motan Mesh • 也是使用Golang编写 • 全新实现(原有类库是基于Java) 老成持重的稳健思路:以proxy为切入口,第 一时间获取跨语言和技术栈下沉的红利,立足 之后再缓缓图之。 这个产品思路唯一的麻烦在于编程语言的选择国内公司的选择之二:开源方案定制 腾讯:Tencent Service Mesh • 数据平面选择Envoy:成熟产品,符合 ü 科技开放,走出去看更大的生态 • 蚂蚁有丰富的业务场景,技术体系也经历了很长时间的发展,沉淀了很多自研产品 • 蚂蚁本身业务上的开放策略,要求技术也要开放,而且要在更丰富的场景下去磨炼 • 在此期间,我们趟坑无数,走了N多弯路,演进了N个版本,我们期望能过通过开源和 开放,让社区跑的更快,节省更多时间 • 我们认为金融领域下的分布式架构设计有独特的原则,作为实践者,我们期望能在标准0 码力 | 37 页 | 7.99 MB | 6 月前3
服务增强器社区介绍日ServiceMesher 社区于 2018 年 4 月 由蚂蚁金服发起成立。 20 个月 社区微信交流群拥有超过 4000+ 成员。 4000+ 社区成员来自 3000+ 企业。 3000+ 成立时间 /01 社区概况 社区成员 成员企业 9 场 线下 meetup 分别于杭州、北京、上海、深圳、广州、 成都等地举办了 9 场 meetup。/02 社区创始人&管理委员会成员 敖小剑 社区活动2019年 10 月31 日 正式开始 istio 1.5 官网文档的翻译。 2 个月 累计合并 PR 数超过 300 个。 300+ 超过 60 人参与了官网的翻译。 60+ 持续时间 合并 PR 数 参与人数 20 万+ 翻译字数 累计翻译的文档中汉字数超过 20 万。 /04 Istio.io 社区化翻译活动Istio 官网本地化活动卓越贡献者 官余棚 @gorda0 码力 | 7 页 | 20.77 MB | 6 月前3
网易云Service Mesh的产品架构与实现fabric-ben-spencer/ Kaola163yun.com 开发独立: 代码耦合度比较高,修改代码通常会对多个模块产生影响,操控难度大,风险高 上线独立: 单次上线需求列表多,上线时间长,影响面大 简化扩容: 由于业务多,每一次扩容需要增加的配置比较杂。一些不起眼的小业务虽然不是扩容的主要目 的,也需要慎重考虑 容灾降级:核心业务与非核心业务耦合,在关键时候互相影响 微服务拆分微服务架构要点 网易微服务框架www.163yun.com 新一代微服务治理平台 服务A jar envoy 服务B jar envoy 服务C jar envoy 降级 限流 路由 日志收集 日志分析 调用次数 调用时间 服务治理 日志分析 统计监控 Data Stream Kafka Storm集群 Hbase Hadoop Redis DDB NQS 监控平台 用户空间VPC 管理控制服务0 码力 | 35 页 | 6.33 MB | 6 月前3
函数计算在双11小程序场景中的应用Responsibility 优化前 1000ms 10ms~60000ms 优化后 200ms 10ms~60000ms 预留实例 0ms 0ms函数计算-弹性伸缩 C1 C1 C2 C1 C2 时间 t1 t2函数计算-预留实例 • 预留实例:性能好 • 按量实例:按需使用函数计算-预留实例 预留实例 按量实例 效果 0 0 禁止调用 10 0 只使用预留实例,固定费用 0 10 只使用按量实例,按需付费0 码力 | 13 页 | 6.95 MB | 6 月前3
蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘adline频繁调用,实现见 IOBuffer.ReadOnce ü适度 buffer 写数据,频繁写系统 IO 会造成写效率下降 Ø均衡 ü读写均衡是高吞吐量的保证 ü大量读/写会增加系统时间消耗, runtime 调度成本IO Bad Case 5调度均衡 6 Ø池化:避免 runtime.morestack 连续栈扩容性能损耗 Ø单核:避免G饥饿 Ø多核:避免P饥饿单核TCP转发 70 码力 | 44 页 | 4.51 MB | 6 月前3
共 10 条
- 1













