如何利用 “集群流控” 保障微服务的稳定性?

简介:应用高可用服务 AHAS (Application High Availability Service) 是经阿里巴巴内部多年高可用体系沉淀下来的云产品,以流量与容错为切入点,从流量控制、不稳定调用隔离、熔断降级、热点流量防护、系统自适应保护、集群流控等多个维度来帮助保障服务的稳定性,同时提供秒级的流量监控分析功能。

作者:宿何

微服务的稳定性一直是开发者非常关注的话题。随着业务从单体架构向分布式架构演进以及部署方式的变化,服务之间的依赖关系变得越来越复杂,业务系统也面临着巨大的高可用挑战。应用高可用服务 AHAS (Application High Availability Service) 是经阿里巴巴内部多年高可用体系沉淀下来的云产品,以流量与容错为切入点,从流量控制、不稳定调用隔离、熔断降级、热点流量防护、系统自适应保护、集群流控等多个维度来帮助保障服务的稳定性,同时提供秒级的流量监控分析功能。AHAS 不仅在阿里内部淘宝、天猫等电商领域有着广泛的应用,在互联网金融、在线教育、游戏、直播行业和其他大型政央企行业也有着大量的实践。

1.png

流控是保障微服务稳定性最常用也是最直接的一种控制手段。每个系统、服务都有其能承载的容量上限,流控的思路非常简单,当某个接口的请求 QPS 超出一定的上限后,拒绝多余的请求,防止系统被突发的流量打垮。市面上最常见的方案是单机维度的流控,比如通过 PTS 性能测试预估某个接口的容量上限是 100 QPS,服务有 10 个实例,则配置单机流控 10 QPS。但很多时候,由于流量分布的不确定性,单机维度的流量控制存在一些效果不佳的情况。

典型场景 1:精确控制对下游的调用总量

2.png

场景:服务 A 需要频繁调用服务 B 的查询接口,但服务 A 和 B 的容量存在差异,服务 B 约定最多给服务 A 提供总共 600 QPS 的查询能力,通过流控等手段进行控制。

痛点:若按照单机流控的策略配置,由于调用逻辑、负载均衡策略等原因,A 调用 B 到达每个实例的流量分布可能非常不均,部分流量较大的服务 B 实例触发单机流控,但总体限制量尚未达到,导致 SLA 未达标。这种不均的情况经常会发生在调用某个依赖服务或组件(如数据库访问)的时候,这也是集群流控的一个典型场景:精确控制微服务集群对下游服务(或数据库、缓存)的调用总量。

典型场景 2:业务链路入口进行请求总量控制

3.png

场景:在 Nginx/Ingress 网关、API Gateway (Spring Cloud Gateway, Zuul) 进行入口流量控制,希望精确控制某个或某组 API 的流量来起到提前保护作用,多余流量不会打到后端系统。

痛点:如果按照单机维度配置,一方面不好感知网关机器数变化,另一方面网关流量不均可能导致限流效果不佳;而且从网关入口角度来讲,配置总体阈值是最自然的手段。

AHAS 集群流控

AHAS 集群流控可以精确地控制某个服务接口在整个集群的实时调用总量,可以解决单机流控因流量不均匀、机器数频繁变动、均摊阈值太小导致限流效果不佳的问题,结合单机流控兜底,更好地发挥流量防护的效果。

对于上面的场景,通过 AHAS 集群流控,无论是 Dubbo 服务调用、Web API 访问,还是自定义的业务逻辑,均支持精确控制调用总量,而无关调用逻辑、流量分布情况、实例分布。既可以支撑数十万 QPS 大流量控制,也支持分钟小时级业务维度小流量精确控制。防护触发后的行为可由用户自定义(如返回自定义的内容、对象)。

AHAS 集群防护具有以下几大优势:

  • 场景丰富:全面覆盖从网关/Mesh 入口流量精确防护、Web/RPC 服务/SQL 调用精确流控,到分钟小时级业务维度流量控制的场景,支持数十万 QPS 量级;
  • 低使用成本:无需特殊接入方式,开箱即用,快速配置;
  • 全自动管控与运维:自动化管控与分配 token server 资源,自动化运维能力保障可用性,用户无需关注服务端资源准备与分配,只需关注规则配置与业务流程;
  • 低性能损耗:性能模式下对业务链路完全无时延增加,精确模式对业务链路的 RT 损耗控制在 3ms 之内,用户可放心使用;
  • 配套的可观测能力,实时了解接口稳定性与规则生效情况。

下面我们就来用一个示例来介绍一下,如何快速将应用接入 AHAS 来玩转集群流控能力,保障服务稳定性。

快速玩转 AHAS 集群流控

第一步,我们将服务或网关接入 AHAS 流量防护。AHAS 提供多种快速便捷的无侵入接入手段:

4.png

AHAS 流量防护支持 Java/Go/C++/PHP 等多语言原生接入,以及 Nginx/Ingress 网关接入和 Mesh 接入;Java 应用支持全方位的 20+ 种微服务框架/组件:

  • Web 服务端:Spring Web/Spring Boot/Spring Cloud/Tomcat/Jetty/Undertow
  • Web client:OkHttp/Apache HttpClient
  • RPC:Dubbo/Feign/gRPC
  • DAO/缓存:MyBatis/Spring Data JPA/Memcached/Jedis client
  • MQ consumer:RocketMQ client/Kafka client/RocketMQ client
  • API Gateway:Spring Cloud Gateway/Zuul 1.x
  • Reactor 框架

接入 AHAS 成功后,只要触发服务调用/接口访问,即可在 AHAS 控制台看到自己的服务,并可以在监控页面看到自己的接口:

5.png

第二步,我们在应用左侧菜单的“集群流控-集群配置”页面,开启集群流控功能。测试应用我们可以开启“试用”集群,不同的集群规格可以承载不同的 QPS 量级:

6.png

第三步,我们在实时监控页面找一个接口,点击右上角的“+”号,新增流控规则。以下示例中,我们对 /doSomething 这个接口配置集群流控规则,这个接口总的访问量每秒钟不超过 200 次。规则状态为“开启”,代表新增后实时生效。

7.png

点击下一步,我们还可以给选择的 Web/RPC 调用配置防护规则触发后的处理逻辑,如自定义返回值。最终配置完成后,我们点击新增按钮,这条规则就会生效到每个节点。

配置完毕后,我们可以向应用集群中不同机器发起一定数量的该接口请求,可以发现每秒钟超过 200 个请求后会自动返回我们在规则中预设好的返回行为;同时控制台实时监控页面也可以看到,多余的流量被拒绝,接口每秒钟通过的总量级平稳在 200 QPS:

8.png

通过几步简单的配置,我们就可以快速体验 AHAS 集群流控给业务流量带来“如丝般顺滑”的保护能力;同时最近 AHAS 还新上线 Nginx/Ingress 网关入口流量防护、Web 请求参数流控 等核心功能,欢迎大家点击阅读原文,在前往 AHAS 控制台进行快速体验。

原文链接
本文为阿里云原创内容,未经允许不得转载。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/511915.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里巴巴服务网格技术三位一体战略背后的思考与实践

简介:本文分享了阿里巴巴服务网格技术三位一体战略背后的思考和实践,关于阿里云服务网格 ASM 的一些产品功能,包括最近发布的一些功能。 作者:宗泉、宇曾 阿里巴巴三位一体战略 阿里云内部很早就提出了开源、自研、商业化三位一…

antd的tooltip如何调整间距_Word字符间距不会调?那就试试这些技巧

Word字符间距,你会调整吗?本期Word妹与大家分享4种字符间距调整技巧。1、取消数字或字母之间的距离数字或字母间距太大了主要是因为在全角状态下输入的,这时可以点击开始——字体——更改大小写——半角即可。2、取消汉字与英文字母之间的距离…

如何使用 Kubernetes 监测定位慢调用

简介:本次课程主要分为三大部分,首先将介绍慢调用的危害以及常见的原因;其次介绍慢调用的分析方法以及最佳实践;最后将通过几个案例来去演示一下慢调用的分析过程。 作者:李煌东 大家好,我是阿里云的李煌…

12个可能你没见过,但非常实用的 HTML 标签

作者 | 零一来源 | 前端印象今天给大家推荐几个冷门但非常实用的 HTML 标签&#xff0c;不只是语义化&#xff0c;它们都有自己的应用场景和特殊自带功能。一、center让你实现水平居中&#xff0c;用这个标签就对了&#xff0c;标签名也非常得语义化<center>零一</cen…

双11特刊 | 全面云原生化,数据库实例独共享混部 最高降低30%成本

简介&#xff1a;2021年双十一是阿里巴巴集团的核心应用全面云化的第二年。今年在保证稳定性的前提下&#xff0c;主要探索如何利用云原生的技术优势&#xff0c;降低成本&#xff0c;提升资源利用率。在今年大促中&#xff0c;针对核心集群采用独享共享实例混部&#xff0c;统…

IPv6时代,中小企业该如何布局?

简介&#xff1a;IPv6要为全世界的每一粒沙子都分配一个IP&#xff0c;你的企业跟上了吗&#xff1f; 11月中旬&#xff0c;中央网信办等部门联合印发了《关于开展IPv6技术创新和融合应用试点工作的通知》&#xff0c;联合组织开展IPv6技术创新和融合应用试点工作&#xff0c;…

Gartner 发布新兴技术研究:深入洞悉元宇宙

供稿 | Gartner出品 | CSDN云计算根据Gartner预测&#xff0c;2026年全球30%的企业机构将拥有元宇宙产品和服务。元宇宙是一个由独立但相互连接的网络所组成的持久、沉浸式数字环境&#xff0c;但目前尚未确定这些网络将使用的通信协议。元宇宙能够实现持久、去中心化、可互操作…

并发场景下的幂等问题——分布式锁详解

简介&#xff1a;本文从钉钉实人认证场景的一例数据重复问题出发&#xff0c;分析了其原因是因为并发导致幂等失效&#xff0c;引出幂等的概念。针对并发场景下的幂等问题&#xff0c;提出了一种实现幂等可行的方法论&#xff0c;结合通讯录加人业务场景对数据库幂等问题进行了…

双11特刊|十年磨一剑,云原生多模数据库Lindorm 2021双11总结

前言 2021 年&#xff0c;转眼 Lindorm 已经在阿里发展了十年的时间&#xff0c;从基于 HBase 深度改造的 Lindorm 1.0 版本&#xff0c;到全面重构&#xff0c;架构大幅升级的 Lindorm 2.0 版本&#xff1b;从单一的宽表引擎&#xff0c;到支持搜索、时序、文件等多种结构化数…

怎么样升级成为鸿蒙系统,手机升级成为鸿蒙系统第一手体验怎么样?-电脑自学网...

自从华为鸿蒙系统上线以来&#xff0c;除了6月2日发布会爆料出鸿蒙细节、功能之外&#xff0c;还给部分华为手机提供了鸿蒙系统的升级包。不知道大家有没有升级&#xff1f;其实很多小伙伴处于观望状态&#xff0c;因为新系统的缺点不可避免&#xff0c;升级了系统就再也回不去…

换个姿势看 hooks,灵感来源组合和 HOC 模式下逻辑视图分离新创意

作者 | &#x1f47d;来源 | 前端Sharing前言懂得 JSX 本质的同学都知道它只不过是一种语法糖&#xff0c;会被 babel 处理成 createElement 的形式&#xff0c;最后再变成常规的 js 对象。所以&#xff0c;我们就可以在 js 逻辑层面对 element 对象做处理&#xff0c;自定义 …

双11特刊 | 云数据库RDS如何顺滑应对流量洪峰

简介&#xff1a;从绿色低碳到硬核科技&#xff0c;看RDS如何用绿色科技助力2021“双11”&#xff1f; 双十一回顾 从平台到商家&#xff0c;再从物流到客户手中&#xff0c;云数据库RDS支撑着双11集团电商的在线业务。RDS首次对集团核心业务进行国产化技术演进试点&#xff…

双11专刊|云原生数据仓库AnalyticDB支撑双11,大幅提升分析实时性和用户体验

简介&#xff1a;2021年双十一刚刚落幕&#xff0c;已连续多年稳定支持双十一大促的云原生数据仓库AnalyticDB&#xff0c;今年双十一期间仍然一如既往的稳定。除了稳定顺滑的基本盘之外&#xff0c;AnalyticDB还有什么亮点呢&#xff1f;下面我们来一一揭秘。 一 前言 2021年…

html传输的数值表示的含义,数字传递游戏的意义与感悟_传数字游戏心得体会

在大学生入职培训期间&#xff0c;曾组织他们做了一场小游戏&#xff0c;游戏规则如下&#xff1a;1、80名学生平均分成8组&#xff0c;排成8列&#xff0c;统一面向讲台做好&#xff1b;2、主持人向每组的最后一名队员提供一个数字(数字一般为3位或4位数&#xff0c;不确定&am…

德勤2022技术趋势:IT自我颠覆、技术跨界融合创新

作者 | 宋慧 出品 | CSDN云计算 IT 技术&#xff0c;一直处于快速发展与变化中。 基于对前沿技术的观察分析与自身实践&#xff0c;国际机构德勤管理咨询每年发布对于未来 18-24 个月的的重要技术趋势。2021 年 CSDN 曾报道 德勤2021技术趋势&#xff1a;繁琐、点状的匠人AI时…

双11特刊|购物车实时显示到手价,看云原生内存数据库Tair如何提升用户体验?

阿里云自研内存数据库Tair诞生于2009年&#xff0c;是一种支持高并发低延迟访问的云原生内存数据库&#xff0c;完全兼容Redis&#xff0c;已历经多年双11大促考验&#xff0c;提供核心在线访问加速能力&#xff0c;显著提升系统吞吐量。 作为双11大促承载流量洪峰的利器&…

Dubbo-Admin 正式支持 3.0 服务治理

简介&#xff1a;Dubbo 相信大家并不陌生&#xff0c;是一款微服务开发框架&#xff0c;它提供了 RPC 通信与微服务治理两大关键能力。大家在日常开发中更多使用的是 Dubbo 提供的 RPC 通信这一部分能力&#xff0c;而对其提供的服务治理的能力使用相对少一些&#xff0c;本文的…

vue将文本渲染html,vue2.0 之文本渲染-v-html、v-text

vue2.0 之文本渲染-v-html、v-text1、index.html代码vuedemo2、main.js代码import Vue from ‘vue‘import App from ‘./App‘Vue.config.productionTip false/* eslint-disable no-new */new Vue({el: ‘#app‘,render: h > h(App)})render: h > h(App)是ES6的语法&am…

如何成为真正的数字化企业,锐捷网络发布数字原力觉醒计划

编辑 | 宋慧 出品 | CSDN 云计算 什么样的企业可称为数字化企业&#xff1f; 因为疫情等各类不确定因素&#xff0c;数字化的浪潮正深刻改变着企业。所有企业都需考虑转型、创新、增长&#xff0c;这三个问题。深耕中国企业级市场多年的IT技术厂商锐捷网络&#xff0c;以“点线…

2021中国数字服务大会 | 阿里云混合云新一代运维演进与实践

简介&#xff1a;12月3日&#xff0c;2021中国数字服务大会顺利召开&#xff0c;大会以“数字服务、跨界融合、协同创新”为主题&#xff0c;邀请产学研界嘉宾&#xff0c;举办行业与学术论坛&#xff0c;共话数字服务的挑战和机遇。阿里云作为云厂商代表应邀参会&#xff0c;并…