Service Mesh 微服务架构设计Mesh 微服务架构设计 杨彪 美团点评高级架构师 2019.10.26 Service Mesh Meetup #7 成都站原蚂蚁金服专家,著有《分布式服务架构:原理、 设计与实战》和《可伸缩服务架构:框架与中间件》 两本书。有近10年互联网、游戏和支付相关的工作 经验,目前从事产业互联网。 杨彪,美团高级架构师1 漫谈服务架构的演进史 2 微服务架构设计的现状 3 Service Service Mesh微服务设计 4 Service Mesh的框架介绍1 漫谈服务架构的演进史 2 微服务架构设计的现状 3 Service Mesh微服务设计 4 Service Mesh的框架介绍我过往的经历情况 类型:传统互联网 模式:CS/BS模式 类型:互联网 模式:单体模式 类型:游戏 模式:单体模式 类型:互联网金融 模式:微服务模式Java版本演进史 JDK J2ME Function20年前春晚 20年后春晚 思考:为什么每年的春晚越来越无聊 其实不是春晚越来越不好,而是观众的需求越来越难满足,服务架构也如此。1 漫谈服务架构的演进史 2 微服务架构设计的现状 3 Service Mesh微服务设计 4 Service Mesh的框架介绍适应变化的微服务是什么样 微服务架构由一组小型的、独立自治的服务组成, 并且实现了业务中单个的完整业务功能。 • 服务和服务之间是独立的、低耦合的;0 码力 | 36 页 | 26.53 MB | 6 月前3
Service Mesh结合容器云平台的思考和实践易于分配的存储 • 易于访问的外围(负载均衡) • 服务注册和发现 致富问题 • 认证和授权 • 智能路由 • 流量管理 • 服务降级 • … • 微服务拆分原则 • 业务API设计 • 数据一致性保证 • 可扩展性考虑 • …Kubernetes对于微服务的支撑 功能列表 详情 快速资源分配 容器编排和调度 服务部署&弹性伸缩 Deployment 服务注册&服务发现 gRPC流量代理、熔断、健康检查等功能。 • Mixer 翻译过来是混音器,Mixer负责在整个Service Mesh中实施访问控制和使用策略。Mixer是一个可扩展组 件,内部提供了多个模块化的适配器(adapter)。 • Pilot 翻译过来是领航员,Pliot对Envoy的生命周期进行管理,同时提供了智能路由(如A/B测试、金丝雀部 署)、流量管理(超时、重试、熔断)功能。P0 码力 | 28 页 | 3.09 MB | 6 月前3
云原生开放智能网络代理 MOSN服务鉴权 • TCP、Http、SOFA • 透明劫持 • 平滑升级 • 可观测性 • 网络包过滤器 • 协议包过滤器 • 协议扩展 • 可观测性扩展 • 路由扩展 • 集群管理扩展 模块化 安全 智能 高性能3/10 MOSN 助力业界最大规模之一的 Service Mesh 实践 核心支付链路覆盖 容器规模 几十万 峰值 QPS 千万 CPU 0%~2% MEM 15M RT Demo 安全审计 社区 更多的协议及服务框架支持 Dubbo、SpringCloud、 RocketMQ、gRPC、HTTP3、 MQTT、QUIC、TLS1.3 等 多协议 支持模块化 自适应限流 多协议深度扩展能力 多进程 WAF WebAssembly 兼容用户态协议栈 Lua 支持 核心和开放能力 适配 Istio,兼容 UDAP 协议 Zookeeper,Etcd0 码力 | 12 页 | 1.39 MB | 6 月前3
微博Service Mesh实践微博Service Mesh实践 - WeiboMesh 服务透明 VS 模块耦合 Istio:对服务透明 • 云原⽣生 • IPtables流量量拦截 • 服务⽆无感知 WM:模块化耦合 • 耦合度可选 • 定制化开发Service Mesh Meetup · BeiJing WM未来发展⽅方向 �40 微博Service Mesh实践 - WeiboMesh 泛服务化0 码力 | 43 页 | 1007.85 KB | 6 月前3
蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘Pool worker worker Worke r data Log Writer Pool send encode Q u e u e C模块划分 11要点总结 12 Ø模块化,分层解耦 Ø统一的编程模型接口 Ø可扩展的事件驱动模型 Ø可扩展的路由/后端管理机制 Ø更好的吞吐量3 能力核心能力 1 网络处理 •网络编程接口 •链接管理 •事件机制 •Metrics0 码力 | 44 页 | 4.51 MB | 6 月前3
Service Mesh 高可用在企业级生产中的实践5 3 2 6 4 2 7 4 3 • 服务端容灾与节点数14/总页数 注册中心 - Consul • 客户端容灾 客户端缓存 !15/总页数 注册中心 - Consul • 架构设计 • 多地域? • 多租户?16/总页数 通过治理策略保证服务高可用 /0317/总页数 治理策略 & 高可用 描述 N个9 可用性级别 年度停机时间 基本可用 2个9 99% 87.6小时 容量 服务容量不足 依赖服务 响应超时19/总页数 治理策略 & 高可用 • 微服务高可用 设计手段 服务高可用 服务限流 方法容错 负载均衡+ 实例容错 柔性化/异步化 服务冗余 服务分流 存储高可用 熔断20/总页数 治理策略 & 高可用 • 微服务高可用设计手段 • 限流 • 熔断 • 负载均衡+实例容错 Spring Cloud Service Mesh Mesh Config Server SDK Sidecar21/总页数 治理策略 & 高可用 • 微服务高可用设计手段 - 服务限流 • 对于一个应用系统来说一定会有极限并发/请求数,即总有一个TPS/QPS阀值, 如果超了阀值则系统就会不响应用户请求或响应的非常慢,因此我们最好进行过 载保护,防止大量请求涌入击垮系统。 • 服务限流其实是指当系统资源不够,不足以应对大量请求,即系统资源与访问量0 码力 | 38 页 | 1.38 MB | 6 月前3
大规模微服务架构下的Service Mesh探索之路敖小剑6月初在深圳举行的GIAC全球互联网架构大会上,蚂蚁金服第一次对外 透露了开发中的Service Mesh产品——Sofa Mesh。 今天我们将展开更多细节,详细介绍蚂蚁金服Sofa Mesh的技术选型, 架构设计以及开源策略。 前言技术选型 Technical 1ü 性能要求 • 以蚂蚁金服的体量,性能不够好则难于接受 • 架构与性能之间的权衡和取舍需要谨慎考虑 ü 稳定性要求 • 以蚂蚁金服的标准,稳定性的要求自然是很高 可扩展性有限,dtab不易理解和使用 • 功能不能满足蚂蚁的需求,没法做到 类似envoy xds那样的扩展性 • 未来发展前景黯淡 Envoy • 安心做数据平面, 提供XDS API • 设计优秀,性能和稳定性表现良好 • C++编写,和蚂蚁的技术栈差异大 • 蚂蚁有大量的扩展和定制化需求 • 我们非常认可envoy在数据平面上的表现开源方案选择之第二代Service Mesh Istio Mesh在技术选型时考虑 Envoy • 数据平面:Envoy最符合要求 • XDS API的设计更是令人称道 • C++带来的技术栈选择问题 • 我们有太多的扩展和定制 • 而且,proxy不仅仅用于mesh Istio • 控制平面:Istio是目前做的最好的 • 认可Istio的设计理念和产品方向 • 性能和稳定性是目前最大问题 • 对非k8s环境的支持不够理想 • 没有提供和侵入式框架互通的解决方案Sofa0 码力 | 37 页 | 7.99 MB | 6 月前3
Service Mesh 发展趋势(续) 蚂蚁金服 | 骑士到中盘路向何方?• 性能 • 即使使用缓存,在数据路径中同步调用Mixer也会增加端到端延迟 • 进程外适配器进一步增加了延迟 • 授权和认证功能是天然适合mixer pipeline的,但是由于mixer 设计 的延迟和SPOF(单点故障)特性,导致直接在Envoy中实现 (Envoy SDS) • 复杂性 • Mixer使用一组称为模板的核心抽象,来描述传递给适配器的数据。 这些包括“metrics 单: • 运维添加、使用和删除适配器 • 开发人员创建新的适配器(超过20个适配器)合并没问题,如何合并才是问题 Part 2:ServiceMesh灵魂拷问二:性能有了,架构怎么办?Envoy在设计上是可扩展的 Part 2:ServiceMesh灵魂拷问二:性能有了,架构怎么办? 扩展点: ● L4/L7 filters ● Access loggers ● Tracers ● Health WebAssembly是一种新的编码方式,可以在现代的网络浏览器中运行 - 它是一种低级的类汇编语言,具有 紧凑的二进制格式,可以接近原生的性能运行,并为诸如C / C ++等语言提供一个编译目标,以便它们可以 在Web上运行。它也被设计为可以与JavaScript共存,允许两者一起工作。 WebAssembly不是一门编程语言,而是一份字节码标准。 WebAssembly字节码是一种抹平了不同CPU架构的机器码, WebAsse0 码力 | 43 页 | 2.90 MB | 6 月前3
深入 Kubernetes 的无人区-蚂蚁金服双十一的调度系统限流 • DaemonSet 非常高阶,尽量不要采用这类设计,如果必需请在 Kubernetes 专家的辅导下使用;15/19 弹性资源建站 Part 2:双十一 Kubernetes 实践16/19 三、展望未来,迎接挑战 Part 2:17/19 平台与多租户 Part 3:展望未来,迎接挑战 Kubernetes设计的多租户 实际Kubernetes集群里的多租户18/190 码力 | 19 页 | 2.18 MB | 6 月前3
网易云Service Mesh的产品架构与实现163yun.com Service Mesh优缺点163yun.com 二、网易云微服务框架介绍163yun.com 设计思路 • 发现容易搞定,治理难搞定 • 发现不易替换,治理易替换 • 解耦容器平台与微服务 • 解耦服务发现与服务治理163yun.com 设计思路 Agent热加载 兼容SpringCloud,Dubbo框架 控制面租户隔离 适配VPC网络 同IaaS或者Kubernetes解耦0 码力 | 35 页 | 6.33 MB | 6 月前3
共 17 条
- 1
- 2













