Service Mesh的延伸 — 论道Database MeshM2 M3 S1 S3 数据库中间件 write sync read读写分离 S App1 M App2 App3 write sync read数据分片 + 读写分离 App1 S1 App2 App3 M2 sync read S2 S3 M1 M3 write数据分片 + 读写分离:引入中间件 App1 M1 App2 App3 S2 M2 M30 码力 | 35 页 | 4.56 MB | 6 月前3
Service Mesh 发展趋势(续) 蚂蚁金服 | 骑士到中盘路向何方?性能? Istio 0.1 - 1.0 Mixer 0.1 - 1.0 In- process AdapterIstio Control Plan 为什么Istio选择Mixer和Proxy分离的架构? Part 1:ServiceMesh灵魂拷问一:要架构还是要性能? Proxy Mixer In- Process Adapter Infrastructure Backend 为前提条件检查结果提供集群级别的全局2级缓存 • 灵活的适配器模型,使其以下操作变得简 单: • 运维添加、使用和删除适配器 • 开发人员创建新的适配器(超过20个适配器)Part 1:ServiceMesh灵魂拷问一:要架构还是要性能? Mixer v1 架构的缺点 • 管理开销 • 管理Mixer是许多客户不想负担的 • 进程外适配器强制运维管理适配器,增加此负担 • 性能 • 即使使用缓存,在数据路径中同步调用Mixer也会增加端到端延迟 不受Adapter增减/更新/升级影响 • 保持Proxy代码简单 • 保持Proxy代码简单 • 数据平面可替换原则 • 集中式服务: • 提高基础设施后端的可用性 • 为前提条件检查结果提供集群级别的全局2级缓存 • 灵活的适配器模型,使其以下操作变得简 单: • 运维添加、使用和删除适配器 • 开发人员创建新的适配器(超过20个适配器)合并没问题,如何合并才是问题 Part 2:ServiceM0 码力 | 43 页 | 2.90 MB | 6 月前3
蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘üMheap 申请系统内存减少约60%内存 3 ØSLAB-style buffer pool ü减少内存 copy ü压测场景下内存复用率90% ØGolang 内存模型亲和 üP中 mcache 缓存小于 32K 的小内存块,最大 2M ü小内存分配顺序 Pmcache -> mcentral -> mheap -> arena ü大于 32K 的大内存分配顺序 mheap -> arena ØGC Ø优化 ü尽可能多读,同时减少SetReadDeadline频繁调用,实现见 IOBuffer.ReadOnce ü适度 buffer 写数据,频繁写系统 IO 会造成写效率下降 Ø均衡 ü读写均衡是高吞吐量的保证 ü大量读/写会增加系统时间消耗, runtime 调度成本IO Bad Case 5调度均衡 6 Ø池化:避免 runtime.morestack 连续栈扩容性能损耗 Ø单核:避免G饥饿0 码力 | 44 页 | 4.51 MB | 6 月前3
大规模微服务架构下的Service Mesh探索之路需要请求同步阻塞等待的功能都应该在 Sidecar中完成 • 远程调用带来的性能开销代价太高 • 其他尽量优化为异步或者批量Istio的解决方案:添加Mixer Cache ü 缓存的工作方式: • Sidecar 中包含本地缓存,一部分的前置 检查可以通过缓存来进行 • 另外,Sidecar 会把待发送的Report数据 进行缓冲,这样可能在多次请求之后才调 用一次 Mixer • 前置检查和配额是同步的 •0 码力 | 37 页 | 7.99 MB | 6 月前3
Service Mesh 微服务架构设计低耦合的服务设计方法论:DDD战略建模4步搞定微服务的划分保持代码高内聚的方法论:DDD战术建模Service Mesh将会是微服务设计的更好方式Service Mesh的核心价值 实现 业务逻辑 和 非业务逻辑 的分离 Ø 为下沉到基础设施提供可能 Ø 帮助应用轻量化,专注业务 Ø 实现应用的云原生化1 漫谈服务架构的演进史 2 微服务架构设计的现状 3 Service Mesh微服务设计 4 Service0 码力 | 36 页 | 26.53 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 在蚂蚁金服生产级安全实践格式封装身份信息(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是下一代SDN吗:从通信角度看Service Mesh的发展未达到产品要求 CPU占用率超高不下 (Pilot+Consul 占用冲高到 400%) • TIME_WAIT Sockets 太多导致FD耗光 Consul Registry优化 • 增加数据缓存,减少无谓的Consul Catalog API调用 • 将Polling改为Watch,大幅降低Consul服务数据变化后的同步时延 优化效果 • 200个服务的规模下,CPU占用率降低了一个数量级0 码力 | 27 页 | 11.99 MB | 6 月前3
共 11 条
- 1
- 2













