22.【学习心得】学习心得-流量调度

简介: 22.【学习心得】学习心得-流量调度

文档参考:书名:《企业it架构转型之道》-钟华 

网络异常,图片无法展示
|


前文如下:

15.【学习心得】学习心得-传统分布式事务

16.【学习心得】学习心得-cap,base理论

17.【学习心得】学习心得-柔性事务

18.【学习心得】学习心得-柔性事务落地

19.【学习心得】学习心得-大促秒杀活动催生缓存技术的高度使用

20.【学习心得】学习心得-链路日志及埋点

21.【学习心得】学习心得-限流和降级

流量调度

1.背景

       今天阿里巴巴的淘宝平台都运行在云平台上,在云平台中不可忽略的一个问题是为了最大程度地增加机器的利用率,会采用超配的方式,即一台物理机上创建的虚拟机CPU核数的总和会超过物理机实际的CPU核数。超配本身并不是一件坏事,淘宝平台包含了上千个大小应用,大部分都是长尾应用,即使在双十一零点,有些应用的流量也是非常低的。这些应用所在的服务器计算能力其实是有剩余的。合理的超配,可以提升机器的资源利用率。但从目前的部署结构来看,同样是核心的应用在虚拟机资源分配上并没有避免超配的现象,这就造成在业务繁忙时,这些部署在超配服务器上的应用就会出现资源争抢,这样很可能导致个别或局部的应用出现服务响应慢甚至挂起,给整个业务链路带来更大的影响。


       这些因为单机或者局部问题而导致的故障,在阿里巴巴淘宝的线上环境中是普遍存在的,尤其是当我们应用机器数达到几百到几千台的时候,非常容易出现个别或者局部的机器服务状态恶化甚至服务不可用的情况。原因是在分布式环境中,软件、硬件、网络等因素导致机器的实时服务能力是有差异的。


       大家可能会认为只要每台服务器的CPU和内存配置一样,这些机器的服务能力都是一样的,但实际在生产环境中,所有机器的实时服务能力都是有差异的。可能因为一次网络抖动导致这台机器实时服务能力下降,也可能因为CPU超配导致资源争抢,从而最终导致实时服务能力下降。


       除了机器超配之外,还有其他各种原因也会造成这些单点或局部应用出现故障:

❑超卖问题带来的资源争抢问题。

❑部分应用、部分机器启动的时候,容易出现个别机器负载飙高,导致这部分机器响应时间变长。

❑JVM假死、VM假死等问题。

❑受宿主机影响,负载飙高问题。

❑JVM垃圾回收影响请求响应时间的问题。

❑网络抖动导致RT抖动。


       对于机器数达到一定数量级的应用来说,大家往往不会太关注单台机器的服务能力,大家的关注点都是这个应用的服务能力是多少,能否抗住流量高峰。但从前面列举的种种故障来看,一旦单机、局部服务能力出现问题,带来的影响远比我们预估得要严重。

为什么上述单机、局部问题会带来这么大的影响?原因如下:


分布式服务环境调用链路局部问题会被放大到整个链路。 在今天这么大流量的情况下,任何单个系统,都无法处理如今这么复杂的业务逻辑。我们在淘宝上的任意一个请求,涉及的决不仅仅是一个系统,而是一整条链路。链路中任何一个单点出现问题,比如任意一台机器的RT变长、或者调用链路上的单点不可用,会直接导致整个调用链路RT变长或者调用链路不可用。

单点、局部问题会被放大成面。 生产环境中所有的服务调用链路其实是网状结构,我们的一个应用会有着多个上、下游应用,因而一旦单点、局部出现问题,可能导致的是下游的应用都将受到影响。1%的机器出现故障,可能导致100%的业务出现问题。

面对这种影响整体服务体系稳定性的隐患,阿里巴巴中间件团队实现了针对分布式服务系统的流量调度平台,用于屏蔽所有机器的软硬件差异,根据机器的实时服务能力来分配机器的实时流量。对实时服务能力好的机器多分配流量;对实时服务能力差的机器减少流量分配;对实时服务能力不可用的机器迁移流量。让因为软件或者硬件带来的单点、局部问题发生时,不会影响整体业务的稳定运行。


2.实现原理


流量调度的核心是通过秒级获取服务器系统运行指标以及业务指标,通过流量调度平台设置的决策算法以及规则,当发现满足规则条件的指标状态发生时,对线上环境的服务器进行下线等操作,以屏蔽这些单点或局部出现故障的应用实例对整体平台产生扩展式的影响。流量调度架构如图8-8所示。

网络异常,图片无法展示
|


       通过服务器上暴露的指标信息接口(图中Restful API),流量调度的服务器定时(目前的收集频率大概是5s一次,每次指标集合大小1KB,对应用的性能没有任何影响)调用指标信息接口,目前采集的信息包括:


❑系统指标信息:CPU、Load等。

❑业务指标信息:HTTP响应时间、HSF服务调用响应时间、HTTP QPS、HSF QPS、Tomcat线程池使用信息、HSF线程池使用信息。


       目前淘宝平台后端流量基本都是HSF服务。此时,HSF服务框架中的ConfigServer就充当了“引路人”的角色。正如前文所描述的,服务的提供者和服务调用者在自身应用启动时会将服务的发布和订阅信息上传到ConfigServer中,因而,在进行流量调度时,只要ConfigServer推送给服务消费者的服务提供者列表带上服务调用的权重信息,服务消费者在选择服务提供者进行服务调用的时候,就能按照权重信息选择每次调用的服务提供者,从而就能控制所有服务提供者被服务请求的流量大小。 这样当发现某些服务提供者出现服务响应慢或系统资源负载飙高时,实时降低对该服务器的服务路由权重(甚至直接降为0),最终达到通过自动化的流量调度来隔离故障。


相关文章
Kubernetes 跨集群流量调度实战
Kubernetes 问世于 2015 年,从一开始秉持着松耦合和可扩展的设计理念,也因此带来了 Kubernetes 生态的蓬勃发展。但这些大部分先限制在单一集群内,然后由于种种原因和目的企业内部创建的集群越来越多,比如单集群故障、监管要求、异地多机房可用区容灾、出于敏捷、降本考虑的混合云、多云部署、单一集群的承载能力受限、多版本 Kubernetes 集群共存等。多集群之后除了提升管理的难度外,首当其冲的就是多集群间的流量调度,这也是多集群部署的基础。没有跨集群的通信,多集群的收益也会大打折扣。
780 1
Kubernetes 跨集群流量调度实战
在进行CDN流量调度时,要考虑的因素有哪些?
在进行CDN流量调度时,要考虑的因素有哪些?
245 3
Python中如何按行遍历DataFrame
听世界的意见,保留自己的态度。
2084 0
AI计算机视觉笔记十五:编写检测的yolov5测试代码
该文为原创文章,如需转载,请注明出处。本文作者在成功运行 `detect.py` 后,因代码难以理解而编写了一个简易测试程序,用于加载YOLOv5模型并检测图像中的对象,特别是“人”类目标。代码实现了从摄像头或图片读取帧、进行颜色转换,并利用YOLOv5进行推理,最后将检测框和置信度绘制在输出图像上,并保存为 `result.jpg`。如果缺少某些模块,可使用 `pip install` 安装。如涉及版权问题或需获取完整代码,请联系作者。
阿里云引领智算集群网络架构的新一轮变革
11月8日至10日,CCF ChinaNet(中国网络大会)在江苏张家港召开,众多院士、教授和技术领袖共聚一堂,探讨网络未来发展方向。阿里云研发副总裁蔡德忠发表主题演讲,展望智算技术发展趋势,提出智算网络架构变革的新思路,发布高通量以太网协议和ENode+超节点系统规划,引起广泛关注。阿里云HPN7.0引领智算以太网生态蓬勃发展,成为业界标杆。未来,X10规模的智算集群将面临新的挑战,Ethernet将成为主流方案,推动Scale up与Scale out的融合架构,提升整体系统性能。
阿里云弹性计算_加速计算专场精华概览 | 2024云栖大会回顾
2024年9月19-21日,2024云栖大会在杭州云栖小镇举行,阿里云智能集团资深技术专家、异构计算产品技术负责人王超等多位产品、技术专家,共同带来了题为《AI Infra的前沿技术与应用实践》的专场session。本次专场重点介绍了阿里云AI Infra 产品架构与技术能力,及用户如何使用阿里云灵骏产品进行AI大模型开发、训练和应用。围绕当下大模型训练和推理的技术难点,专家们分享了如何在阿里云上实现稳定、高效、经济的大模型训练,并通过多个客户案例展示了云上大模型训练的显著优势。
105144 10
一文详解阿里云AI大基建
一文详解阿里云AI大基建
1018 2
Scaling LLM Test-Time Compute Optimally: 一种更有效的方法
【10月更文挑战第14天】本文探讨了大型语言模型(LLMs)在测试时通过增加计算资源来提升性能的可能性。研究发现,通过优化测试时计算的分配,特别是采用基于过程的验证器搜索和自适应更新响应分布的方法,LLM可以显著提高对复杂问题的应对能力,甚至在某些情况下超越更大规模的模型。论文提出了“计算最优”策略,旨在根据问题难度自适应调整计算资源,以最大化性能提升。未来工作将聚焦于增强测试时计算缩放、快速评估问题难度及实现自我改进循环。
399 6
CDGA|数据治理:让数据与业务伴生的实践路径
在数据驱动的时代,数据已成为企业宝贵资产,蕴含推动业务增长与创新的无限可能。数据治理通过科学策略挖掘、整合、保护数据,成为企业数字化转型的核心驱动力。本文阐述了数据治理的定义、重要性及其实践路径,强调跨部门协作与全员参与,确保数据质量、安全及合规性,支持企业战略目标实现。通过明确数据战略、建立管理体系、推动数据共享和持续优化,数据治理助力企业实现数据与业务的伴生共长。
这份RoCE、IB和TCP差异对比,没干10年网工,总结不出来。
这份RoCE、IB和TCP差异对比,没干10年网工,总结不出来。
442 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问