微服务在过去几年中已在各个行业的系统架构中实践得如火如荼,在三四年前可能还会有是否要选择微服务架构的问题,但在今天几乎不会有这样“用”还是“不用”的疑问,大家关注的焦点变成了如何升级现有的微服务基础设施。特别是在大红大紫的云原生时代,“微服务”再次被推上风口浪尖。
比如 Service Mesh 就在过去两年中迅速走红,并有了诸多的落地实践。为什么会有这么多的 Service Mesh 实践,它背后的推动力是什么?另外在多年的“全民”微服务后,在这个时间点上我们也应该去复盘一下微服务架构的“好”与“坏”。任何架构都会有它的适用场景,今天的我们是否要在微服务架构之外再去实践新的架构方式以解决当前遇到的新问题呢?
如果你也有种种疑问,不妨关注一下QCon北京2020的微服务专题,来自阿里巴巴、腾讯、网易、美团等公司的技术专家将分享他们的实践案例。
阿里巴巴集团在内部很早就开始使用 Service Mesh 了,是国内 Service Mesh 应用规模最大的公司之一,为了在集团大规模落地 Service Mesh,在内部对 Envoy 和 Istio 做了大量优化,同时也将这些优化贡献给了社区。目前阿里巴巴是国内对于 Envoy 贡献最多的公司,给 Envoy 贡献了 Dubbo filter、内存优化、EGDS 等。阿里巴巴内部集群的规模很大,上百万 Endpoint 的集群是很常见的,一个应用通常都会使用上百个服务,频繁的服务上下线会导致大量的 xDS 推送,他们对 Envoy 和 Istio 做了很多优化以解决这些问题。
通过阿里巴巴高级工程师张义飞的分享,你可以了解到 Envoy 和 Istio 在大规模落地时会遇到的一些问题,以及如何来解决。如 Envoy Subset 重复计算和内存占用大、Istio 全量推送 EDS 导致数据面产生大量的 CPU 开销、Envoy 连接池优化、优雅热升级等问题。
Service Mesh 的架构演进思路
如何控制 Service Mesh 上线的风险
Service Mesh 在阿里巴巴内部的部署和运维
服务规模大
接入 Service Mesh 成本高
Serivce Mesh 价值短期很难体现
为什么要落地 Service Mesh
EGDS (解决频繁推送问题)
Subset 优化(解决 Envoy CPU 和内存高的问题)
连接池优化 (解决连接数过多的问题)
Dubbo filter 优化(解决数据面带来的 RT 损耗)
优雅热升级 (数据面频繁升级如何不影响业务)
透明拦截 (方便接入 Mesh,控制风险)
下一步的规划
了解 Service Mesh 落地可能会遇到的一些问题
了解 Service Mesh 所带来的一些价值
了解 Service Mesh 在大规模场景下存在哪些问题,如何解决?
随着业务迅速扩张,越来越多后端团队采用微服务设计方案。微服务设计在降低业务开发门槛的同时,对系统基础设施提出更高要求。在微服务场景中,后台服务数量迅速膨胀,各个服务技术选型多样化。两个问题显得尤为突出:
第一是系统整体负载保护。微服务场景中,各个服务之间调用 Topo 关系复杂,各种服务技术选型多样化,性能 / 健壮性参差不齐,有些服务具有"玻璃体质"。各种业务流量变化无常,有些纯粹 bug 引起,单个服务负载保护,不能防止整个系统"崩溃",需要一种机制整体负载保护机制保证各种业务流量安全运营,确保系统任何情况下都不发生"雪崩”。
第二是系统整体监控。系统异常时如何在噪声很大的信息量中迅速定位系统问题,并为系统设计优化提供建议或方案:如确定系统中哪些技术选型或设计方案是不合理的;系统正常时如何减少不必要的报警骚扰;系统亚健康时如何提供预警;确保监控为系统安全运营提供一层安全网。如果你也有这样的问题,不妨来看看腾讯科技增值服务部互娱 AMS 监控系统负责人朱龙云的分享。
软件设计演进史
微服务哲学
微服务基础设施
负载保护设计方案和原则
负载保护的职责和边界
上游流控设计方案
本机负载保护设计方案
下游熔断方案
负载保护效果
流控在业务特性功能的应用拓展
监控的历史和未来发展
监控系统的境界,职责和边界
监控方法比较以及与智能关系
监控对象和数据上报方案
监控定位问题方案和相关架构
基于曲线检测的高频报警监控方案
监控可视化和线下治理
微服务环境上游流控 / 本机负载保护 / 下游熔断方案相结合的整体系统负载保护方案;
微服务环境下监控设计的方案,与传统监控差异,以及未来可能的发展方向。
业界 Mesh 化趋势如火如荼,从 2019 年开始,美团基于公司海量场景及业务形态从 0 到 1 搭建起了 Service Mesh 体系。美团资深技术专家、基础开发团队负责人舒超将分享美团 Service Mesh 的架构演进历程,如:运维部署、性能优化、业务推进策略,以及无缝兼容公司原有服务治理体系的过程。
美团为什么选择 Service Mesh
早期美团 Service Mesh 的发展状况
性能上的挑战
服务治理兼容性上的挑战
运维部署上的挑战
流量转发优化
策略缓存优化
序列化反序列化优化
其它优化
服务注册
SDK 兼容
服务路由
流量录制
服务鉴权
熔断限流
如何在十几万节点中部署运维
如何做到业务无感知热升级
如何做到系统自身容灾降级
如何做端到端全链路巡检
美团 Service Mesh 未来规划
Service Mesh 部署治理方案
如何进行性能优化及运维
网易部分业务(严选、传媒等)自 2016 年起便开始探索用 Service Mesh 架构支撑微服务体系建设,并于 2017 年进行了落地,我们称之为 Mesh 1.0。这套架构在支撑业务快速发展的同时,也暴露出其在管控能力、流量治理方面存在的不足,于是在 2019 年开始落地基于定制 Istio 和扩展 Envoy 的云原生 Mesh 2.0 架构,Mesh 2.0 通过对 Mesh 1.0 架构的平滑升级,很好地支撑了业务度过大促、大事件等大规模高并发场景,取得了较好的落地效果。来跟网易架构师、技术专家冯常健看看他们的实践。
网易的 Mesh 1.0 架构以及为什么要做架构升级;
网易落地 Service Mesh 架构的前提条件;
网易 Service Mesh 架构落地和升级的关键点,重点关注可落地性,比如平滑升级和迁移,以及这个过程中需要的系统改造、性能优化、支撑平台设计等。
了解 Service Mesh 系统建设的技术价值和真实收益;
了解网易 Service Mesh 的基本架构和演进思路;
了解企业实施 Service Mesh 架构会面临哪些问题、如何应对以及落地关键点。
有容器、微服务技术平台相关的项目经验,具备 K8s、Service Mesh、API 网关、服务框架、云原生等知识储备。
更多架构升级、业务中台、实时数据分析、架构演进、调度系统实践等前沿技术实践请持续关注 QCon 北京 2020,目前大会报名限时折扣中,还有门票买三赠一、买五赠二等多重优惠。识别二维码或点击【阅读原文】了解更多大咖实践。有任何问题欢迎联系 Ring:17310043226(微信同号)