Service Mesh的实践分享难。需要自行处理HTTP请求和 响应(目前还没有生成HTTP sdk) 应用侵入性 侵入性大。复杂客户端会给 应用造成负担,包括资源占 用、依赖冲突等等 侵入性小。SDK只有简单的寻址和序列化/ 反序列化的功能 无侵入性。应用自行调用 运维难度 难度大。客户端的问题会对 应用直接产生影响,耦合太 重 难度小。Sidecar故障可以将流量临时切到 remote proxy解决 难度小。集群通过LVS接入,单 API不友好问题 • 不能unwatch • 需要花费很大力气进行迁移和替换PHP Thrift效率低 • 数量众多PHP应用,开发php-sdk over thrift • 在客户端进行序列化,减少一次协议转 换的消耗 • 与Java应用在架构上呼应,保持架构的一 致性 • 然而,实际上PHP Thrift效率低比内置 的HTTP模块慢得多 • 性能消耗比JSON转Thrift还要大 • 智能路由 • 开源智能参数治理 • 现状 • 依赖用户手工配置参数(超时时间、限流) • 服务实例的差异导致配置相当复杂,容易 配置不合理 • 无法动态根据系统指标调整阈值 • 目标 • 用户无需拍脑袋设值,服务治理中心根据 历史指标进行推荐,对不合理的设置进行 建议,如 • 根据应用的历史延迟时间推荐超时设置 • 根据应用的历史流量数据推荐限流设置 • 根据动态指标自动调整配置0 码力 | 30 页 | 4.80 MB | 6 月前3
微博Service Mesh实践BeiJing �16 微博Service Mesh实践 - WeiboMesh • 服务交互 • 服务发现 • 服务路路由 • 服务治理理 • 跨语⾔言序列列化 • 批量量请求 • 资源服务化 • 兜底逻辑 Mesh Light Client SM 功能 功能 强化 Go 并发 适配 不不同 语⾔言Service Mesh Cluster(发现集群管理理,group + path) ➢ HA(⾼高可⽤用策略略) ➢ LB(负载均衡) ➢ Endpoint(服务节点的抽象) ➢ Protocol(Motan2/传输协议+Simple/序列列化协议)Service Mesh Meetup · BeiJing Cluster 模块 �18 微博Service Mesh实践 - WeiboMesh WM/ Client request - WeiboMesh Header ➢ 消息类型 ➢ 协议版本 ➢ 序列列化协议(body) Metadata ➢ 服务名 ➢ ⽅方法名 ➢ 系统参数及⽤用户参数 Body ➢ response ➢ RequestService Mesh Meetup · BeiJing Simple 序列列化 �22 微博Service Mesh实践 - WeiboMesh 基础类型0 码力 | 43 页 | 1007.85 KB | 6 月前3
Service Mesh结合容器云平台的思考和实践ap_config.go中的 WriteBootstrap自动生成一个配置文件,默认将生成的配置文件放在/etc/istio/proxy/envoy-rev%d.json, 这里的%d会用epoch序列号代替。WriteBootstrap在envoy.Run方法中被调用。Pilot-Agent主要功能分析-Envoy监控与管理 为envoy生成好配置文件之后,pilot-agent还要负责envoy进程的监控与管理工作,包括:0 码力 | 28 页 | 3.09 MB | 6 月前3
蚂蚁金服Service Mesh渐进式迁移方案b-port=getOriginalDest() 都没有改造,直连 服务器端有改造,单跳 客户端有改造,单跳Service Mesh时代的客户端和寻址方式 服务发现 加密 负载均衡 请求路由 目标服务 的标识 序列化 链路追踪 故障注入 日志 监控 Metrics 熔断 限流 服务降级 前置条件检查 身份认证 密钥管理 访问控制 …… 下沉到 Service Mesh 轻量级客户端 传统 侵入式 客户端0 码力 | 40 页 | 11.13 MB | 6 月前3
Service 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 | 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
共 12 条
- 1
- 2













