大规模微服务架构下的Service Mesh探索之路
细节暂时不清楚,即将开源 新浪微博:Motan Mesh • 也是使用Golang编写 • 全新实现(原有类库是基于Java) 老成持重的稳健思路:以proxy为切入口,第 一时间获取跨语言和技术栈下沉的红利,立足 之后再缓缓图之。 这个产品思路唯一的麻烦在于编程语言的选择国内公司的选择之二:开源方案定制 腾讯:Tencent Service Mesh • 数据平面选择Envoy:成熟产品,符合 ü 科技开放,走出去看更大的生态 • 蚂蚁有丰富的业务场景,技术体系也经历了很长时间的发展,沉淀了很多自研产品 • 蚂蚁本身业务上的开放策略,要求技术也要开放,而且要在更丰富的场景下去磨炼 • 在此期间,我们趟坑无数,走了N多弯路,演进了N个版本,我们期望能过通过开源和 开放,让社区跑的更快,节省更多时间 • 我们认为金融领域下的分布式架构设计有独特的原则,作为实践者,我们期望能在标准0 码力 | 37 页 | 7.99 MB | 5 月前3阿里巴巴超大规模神龙裸金属 Kubernetes 集群运维实践
年参与集团全面上云项目 并经历了整体架构的云原生升级 演进,稳定支撑双11峰值流量分享内容 • 阿里全站上云 • 神龙 (what & why) • 规模化集群运维实践 • 未来工作云原生全景图阿里全站上云 • 2018年底:阿里经济体全面上云 • 2019上云第一仗:基础设施上云 • 双11顺利通过峰值流量考验神龙 X-Dragon • 全称:弹性裸金属服务器(神龙) • 阿里造“神龙”神龙0 码力 | 21 页 | 7.81 MB | 5 月前3Service Mesh的延伸 — 论道Database Mesh
•ZooKeeper •Etcd 业务代码 Sharding- Sphere 业务代码 Sharding- Sphere 应用 应用 注册中心Sharding-Sphere:APM演进线路图 JDBC + 数据分片 版本:1.X 数据库治理 版本:2.X Proxy 版本:3.0.X 分布式事务 版本:3.1.X Sidecar 版本:4.0.X 多数据副本 版本:4.10 码力 | 35 页 | 4.56 MB | 5 月前3Service Mesh 高可用在企业级生产中的实践
注册中心 - 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/总页数 治理策略 特权处理 常用限 流策略24/总页数 治理策略 & 高可用 • 微服务高可用设计手段 - 服务限流 • 固定、滑动时间窗口限流 • 适合微服务接口 • 选定的时间粒度上限流 • 令牌桶、漏桶限流 • 适合阻塞限流 • 超过最大访问频率后,请求阻塞等待或者直接拒绝(等待时间=0) 常用限 流算法25/总页数 治理策略 & 高可用 • 微服务高可用设计手段 - 服务限流 • 基于来源限流(from)0 码力 | 38 页 | 1.38 MB | 5 月前3微博Service Mesh实践
Meetup · BeiJing Weibo Mesh在业务应⽤用中的效果 �35 微博Service Mesh实践 - WeiboMesh Mesh VS HTTP Backup Request 效果图 20%~40% 平均耗时 15%~50% SLA999Service Mesh Meetup · BeiJing 热⻔门微博 wm 主站0 码力 | 43 页 | 1007.85 KB | 5 月前3Service Mesh的实践分享
• 智能路由 • 开源智能参数治理 • 现状 • 依赖用户手工配置参数(超时时间、限流) • 服务实例的差异导致配置相当复杂,容易 配置不合理 • 无法动态根据系统指标调整阈值 • 目标 • 用户无需拍脑袋设值,服务治理中心根据 历史指标进行推荐,对不合理的设置进行 建议,如 • 根据应用的历史延迟时间推荐超时设置 • 根据应用的历史流量数据推荐限流设置 • 根据动态指标自动调整配置 链路上某些节点的配置不合理,很难被预 先发现 • 如整条调用链入口要求的超时是500ms,然而 中间某个服务的超时时间是5s。超时时间的严 重差异容易造成资源浪费(上游超时返回了下 游还继续往下调)和数据不一致风险(上游以 为写失败了下游却写成功了) • 目标 • 实时上下游超时治理 • 通过传递剩余超时时间,让下游可以判断是否 继续一些重量级操作 • 实时上下游限流治理 • 下游资源异常(DB调用超时、redis超时等)动0 码力 | 30 页 | 4.80 MB | 5 月前3阿里巴巴核心应用洛地 Service Mesh 的挑战与机过
表实现了一个全新的透明拦截组件#2 短时间内支持电商业务复杂的服务治理功能 •单元化?多环境?基于参数调用的路由? 1. RPC 使用的是 Groovy 脚本,Mesh 不具备。 2. RPC 并没有将参数作为元信息放置 在请求头。#3 短时间内支持电商业务复杂的服务治理功能 •扩展 VirtualService 和 DestinationRule#3 短时间内支持电商业务复杂的服务治理功能0 码力 | 22 页 | 6.61 MB | 5 月前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 | 5 月前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 | 5 月前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 | 5 月前3
共 12 条
- 1
- 2