 大规模微服务架构下的Service Mesh探索之路Mesh,Sofa和社区主流开发框架 Service Mesh落地要面临的实际要求选择开源产品,还是选择自研? 起点:开源 起点:自研 全新打造;或依托现有SDK Fork,增强,扩展,定制,集成 回馈社区,反哺开源 维持版本更新,同步升级 未来肯定会开源 可扩展和可定制化是必备的 可 控 性 社 区 支 持 技术输出 内部落地 如何让开源产品接受我们的改动? 如何让社区和客 需要请求同步阻塞等待的功能都应该在 Sidecar中完成 • 远程调用带来的性能开销代价太高 • 其他尽量优化为异步或者批量Istio的解决方案:添加Mixer Cache ü 缓存的工作方式: • Sidecar 中包含本地缓存,一部分的前置 检查可以通过缓存来进行 • 另外,Sidecar 会把待发送的Report数据 进行缓冲,这样可能在多次请求之后才调 用一次 Mixer • 前置检查和配额是同步的 • • Dogstatsd • Fluentd • Prometheus • Solarwinds • Stackdriver • Statsd • Stdio 同意视为基础设置, 甚至可能集成更多, 这里的抽象隔离是 我们认可的 但是这些??更应该 视为基本能力,直接 做成Mesh内置功能 List backend Redis for Quota memquota List0 码力 | 37 页 | 7.99 MB | 6 月前3 大规模微服务架构下的Service Mesh探索之路Mesh,Sofa和社区主流开发框架 Service Mesh落地要面临的实际要求选择开源产品,还是选择自研? 起点:开源 起点:自研 全新打造;或依托现有SDK Fork,增强,扩展,定制,集成 回馈社区,反哺开源 维持版本更新,同步升级 未来肯定会开源 可扩展和可定制化是必备的 可 控 性 社 区 支 持 技术输出 内部落地 如何让开源产品接受我们的改动? 如何让社区和客 需要请求同步阻塞等待的功能都应该在 Sidecar中完成 • 远程调用带来的性能开销代价太高 • 其他尽量优化为异步或者批量Istio的解决方案:添加Mixer Cache ü 缓存的工作方式: • Sidecar 中包含本地缓存,一部分的前置 检查可以通过缓存来进行 • 另外,Sidecar 会把待发送的Report数据 进行缓冲,这样可能在多次请求之后才调 用一次 Mixer • 前置检查和配额是同步的 • • Dogstatsd • Fluentd • Prometheus • Solarwinds • Stackdriver • Statsd • Stdio 同意视为基础设置, 甚至可能集成更多, 这里的抽象隔离是 我们认可的 但是这些??更应该 视为基本能力,直接 做成Mesh内置功能 List backend Redis for Quota memquota List0 码力 | 37 页 | 7.99 MB | 6 月前3
 Service Mesh是下一代SDN吗:从通信角度看Service Mesh的发展未达到产品要求 CPU占用率超高不下 (Pilot+Consul 占用冲高到 400%) • TIME_WAIT Sockets 太多导致FD耗光 Consul Registry优化 • 增加数据缓存,减少无谓的Consul Catalog API调用 • 将Polling改为Watch,大幅降低Consul服务数据变化后的同步时延 优化效果 • 200个服务的规模下,CPU占用率降低了一个数量级 用 运维 通过Envoy插件和Istio协议扩展来实现?产品化增强-其他 • APP:灰度发布、流量控制,更多的APP待业务场景触发 • IPV6支持增强 • 在Istio中集成方法级的调用跟踪 • 在Istio中集成Kafka调用跟踪上游开源社区参与情况 所有通用的故障修复、性能优化和新特性都提交PR合入了上游社区。包括: • Consul Registry性能和资源占用优化 • 多网络平面支持0 码力 | 27 页 | 11.99 MB | 6 月前3 Service Mesh是下一代SDN吗:从通信角度看Service Mesh的发展未达到产品要求 CPU占用率超高不下 (Pilot+Consul 占用冲高到 400%) • TIME_WAIT Sockets 太多导致FD耗光 Consul Registry优化 • 增加数据缓存,减少无谓的Consul Catalog API调用 • 将Polling改为Watch,大幅降低Consul服务数据变化后的同步时延 优化效果 • 200个服务的规模下,CPU占用率降低了一个数量级 用 运维 通过Envoy插件和Istio协议扩展来实现?产品化增强-其他 • APP:灰度发布、流量控制,更多的APP待业务场景触发 • IPV6支持增强 • 在Istio中集成方法级的调用跟踪 • 在Istio中集成Kafka调用跟踪上游开源社区参与情况 所有通用的故障修复、性能优化和新特性都提交PR合入了上游社区。包括: • Consul Registry性能和资源占用优化 • 多网络平面支持0 码力 | 27 页 | 11.99 MB | 6 月前3
 蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘HTTP2的通用方案(完善中) Ø支持平滑升级中协议无关存量链接迁移 Ø支持指定 / 更新 Downstream / Upstream 协议配置 ØSOFARPC 支持 Upstream 反向请求Istio集成 3 Ø支持 Istio 0.8 版本 Pilot V4 API ü支持xDS on ADS Ø支持全动态配置启动运行 Ø支持API核心功能点,不断完善中扩展机制 4 • 网络层扩展 • 事件订阅 üMheap 申请系统内存减少约60%内存 3 ØSLAB-style buffer pool ü减少内存 copy ü压测场景下内存复用率90% ØGolang 内存模型亲和 üP中 mcache 缓存小于 32K 的小内存块,最大 2M ü小内存分配顺序 Pmcache -> mcentral -> mheap -> arena ü大于 32K 的大内存分配顺序 mheap -> arena ØGC0 码力 | 44 页 | 4.51 MB | 6 月前3 蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘HTTP2的通用方案(完善中) Ø支持平滑升级中协议无关存量链接迁移 Ø支持指定 / 更新 Downstream / Upstream 协议配置 ØSOFARPC 支持 Upstream 反向请求Istio集成 3 Ø支持 Istio 0.8 版本 Pilot V4 API ü支持xDS on ADS Ø支持全动态配置启动运行 Ø支持API核心功能点,不断完善中扩展机制 4 • 网络层扩展 • 事件订阅 üMheap 申请系统内存减少约60%内存 3 ØSLAB-style buffer pool ü减少内存 copy ü压测场景下内存复用率90% ØGolang 内存模型亲和 üP中 mcache 缓存小于 32K 的小内存块,最大 2M ü小内存分配顺序 Pmcache -> mcentral -> mheap -> arena ü大于 32K 的大内存分配顺序 mheap -> arena ØGC0 码力 | 44 页 | 4.51 MB | 6 月前3
 Service Mesh 发展趋势(续) 蚂蚁金服 | 骑士到中盘路向何方?为前提条件检查结果提供集群级别的全局2级缓存 • 灵活的适配器模型,使其以下操作变得简 单: • 运维添加、使用和删除适配器 • 开发人员创建新的适配器(超过20个适配器)Part 1:ServiceMesh灵魂拷问一:要架构还是要性能? Mixer v1 架构的缺点 • 管理开销 • 管理Mixer是许多客户不想负担的 • 进程外适配器强制运维管理适配器,增加此负担 • 性能 • 即使使用缓存,在数据路径中同步调用Mixer也会增加端到端延迟 不受Adapter增减/更新/升级影响 • 保持Proxy代码简单 • 保持Proxy代码简单 • 数据平面可替换原则 • 集中式服务: • 提高基础设施后端的可用性 • 为前提条件检查结果提供集群级别的全局2级缓存 • 灵活的适配器模型,使其以下操作变得简 单: • 运维添加、使用和删除适配器 • 开发人员创建新的适配器(超过20个适配器)合并没问题,如何合并才是问题 Part 2:ServiceM0 码力 | 43 页 | 2.90 MB | 6 月前3 Service Mesh 发展趋势(续) 蚂蚁金服 | 骑士到中盘路向何方?为前提条件检查结果提供集群级别的全局2级缓存 • 灵活的适配器模型,使其以下操作变得简 单: • 运维添加、使用和删除适配器 • 开发人员创建新的适配器(超过20个适配器)Part 1:ServiceMesh灵魂拷问一:要架构还是要性能? Mixer v1 架构的缺点 • 管理开销 • 管理Mixer是许多客户不想负担的 • 进程外适配器强制运维管理适配器,增加此负担 • 性能 • 即使使用缓存,在数据路径中同步调用Mixer也会增加端到端延迟 不受Adapter增减/更新/升级影响 • 保持Proxy代码简单 • 保持Proxy代码简单 • 数据平面可替换原则 • 集中式服务: • 提高基础设施后端的可用性 • 为前提条件检查结果提供集群级别的全局2级缓存 • 灵活的适配器模型,使其以下操作变得简 单: • 运维添加、使用和删除适配器 • 开发人员创建新的适配器(超过20个适配器)合并没问题,如何合并才是问题 Part 2:ServiceM0 码力 | 43 页 | 2.90 MB | 6 月前3
 阿里巴巴核心应用洛地 Service Mesh 的挑战与机过Serverless 业务 (Java/Go/C++, etc) 网格化的基础组件 (基于插件) 网格化的基础组件 (基于插件) Service Mesh BaaS 注册服务 配置服务 消息 缓存 K8s•未来应用开发一定是 云原生 •考验好产品的标准是 云原生 •经济、技术共同体是 愿景 机遇 •基于 Service Mesh 基础面开发 •是否能很好的支持 Service0 码力 | 22 页 | 6.61 MB | 6 月前3 阿里巴巴核心应用洛地 Service Mesh 的挑战与机过Serverless 业务 (Java/Go/C++, etc) 网格化的基础组件 (基于插件) 网格化的基础组件 (基于插件) Service Mesh BaaS 注册服务 配置服务 消息 缓存 K8s•未来应用开发一定是 云原生 •考验好产品的标准是 云原生 •经济、技术共同体是 愿景 机遇 •基于 Service Mesh 基础面开发 •是否能很好的支持 Service0 码力 | 22 页 | 6.61 MB | 6 月前3
 蚂蚁金服双十一 Service Mesh 超大规模落地揭秘保活态 常规方案操作步骤 分时调度操作步骤23 分时调度-MOSN价值 MOSN 作用:保活态节点流量转发,降低保活态节点内存占用 保活意义: * 应用长连接维持 * DB 连接维持 * 缓存维持 * 无需预热可快速恢复 MOSN APP MOSN APP Client Pod 运行态 Pod 保活态 100% 100% 100% 1% 99%240 码力 | 26 页 | 2.71 MB | 6 月前3 蚂蚁金服双十一 Service Mesh 超大规模落地揭秘保活态 常规方案操作步骤 分时调度操作步骤23 分时调度-MOSN价值 MOSN 作用:保活态节点流量转发,降低保活态节点内存占用 保活意义: * 应用长连接维持 * DB 连接维持 * 缓存维持 * 无需预热可快速恢复 MOSN APP MOSN APP Client Pod 运行态 Pod 保活态 100% 100% 100% 1% 99%240 码力 | 26 页 | 2.71 MB | 6 月前3
 Service Mesh 在蚂蚁金服生产级安全实践格式封装身份信息(service account)向Citadel Agent请求证书  Citadel Agent 会将Sidecar 的请求包装成CSR 请求Citadel ,Citadel 会先检查缓存中是否已有证书,如果不 存在的话,会基于Citadel 启动时配置的二级ROOTCA签发证书基于 Secret Discovery Service Sidecar证书管理方案 Istio With0 码力 | 19 页 | 808.60 KB | 6 月前3 Service Mesh 在蚂蚁金服生产级安全实践格式封装身份信息(service account)向Citadel Agent请求证书  Citadel Agent 会将Sidecar 的请求包装成CSR 请求Citadel ,Citadel 会先检查缓存中是否已有证书,如果不 存在的话,会基于Citadel 启动时配置的二级ROOTCA签发证书基于 Secret Discovery Service Sidecar证书管理方案 Istio With0 码力 | 19 页 | 808.60 KB | 6 月前3
 Service Mesh 高可用在企业级生产中的实践Tolerance 1 1 0 2 2 0 3 2 1 4 3 1 5 3 2 6 4 2 7 4 3 • 服务端容灾与节点数14/总页数 注册中心 - Consul • 客户端容灾 客户端缓存 !15/总页数 注册中心 - Consul • 架构设计 • 多地域? • 多租户?16/总页数 通过治理策略保证服务高可用 /0317/总页数 治理策略 & 高可用 描述 N个9 可用性级别0 码力 | 38 页 | 1.38 MB | 6 月前3 Service Mesh 高可用在企业级生产中的实践Tolerance 1 1 0 2 2 0 3 2 1 4 3 1 5 3 2 6 4 2 7 4 3 • 服务端容灾与节点数14/总页数 注册中心 - Consul • 客户端容灾 客户端缓存 !15/总页数 注册中心 - Consul • 架构设计 • 多地域? • 多租户?16/总页数 通过治理策略保证服务高可用 /0317/总页数 治理策略 & 高可用 描述 N个9 可用性级别0 码力 | 38 页 | 1.38 MB | 6 月前3
 蚂蚁金服网络代理演进之路• 自定义Session Ticket编码格式 • 160 byte -> 76 byte • Session Ticket扩展 用于会话复用,加速握手过程 • Cached-info扩展 缓存证书等服务端信息,避免 再次握手时重复传输数据 • ECDHE-keyshare扩展 将TLS1.3草案中的1-RTT机制通 过扩展的方式提前应用 • ECC-signature扩展 使用高效ECDSA签名算法的同0 码力 | 46 页 | 19.93 MB | 6 月前3 蚂蚁金服网络代理演进之路• 自定义Session Ticket编码格式 • 160 byte -> 76 byte • Session Ticket扩展 用于会话复用,加速握手过程 • Cached-info扩展 缓存证书等服务端信息,避免 再次握手时重复传输数据 • ECDHE-keyshare扩展 将TLS1.3草案中的1-RTT机制通 过扩展的方式提前应用 • ECC-signature扩展 使用高效ECDSA签名算法的同0 码力 | 46 页 | 19.93 MB | 6 月前3
 函数计算在双11小程序场景中的应用能和大规模资源伸缩调度、性能优化等系 统核心能力的研发。❖ 函数计算介绍 ❖ 双11小程序场景介绍 ❖ 技术挑战 ❖ Demo 目录函数计算-介绍 • 通用Serverless计算平 台 • 与云端事件源无缝集成 • 弹性伸缩,按量付费函数计算-介绍双11小程序场景介绍小程序场景的挑战 n 安全隔离 n 开发效率 n 大量的小程序是不活跃的 n 活动高峰期流量激增函数计算-冷启动优化 Download0 码力 | 13 页 | 6.95 MB | 6 月前3 函数计算在双11小程序场景中的应用能和大规模资源伸缩调度、性能优化等系 统核心能力的研发。❖ 函数计算介绍 ❖ 双11小程序场景介绍 ❖ 技术挑战 ❖ Demo 目录函数计算-介绍 • 通用Serverless计算平 台 • 与云端事件源无缝集成 • 弹性伸缩,按量付费函数计算-介绍双11小程序场景介绍小程序场景的挑战 n 安全隔离 n 开发效率 n 大量的小程序是不活跃的 n 活动高峰期流量激增函数计算-冷启动优化 Download0 码力 | 13 页 | 6.95 MB | 6 月前3
共 15 条
- 1
- 2













