温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Sentinel是怎么通过匀速请求和冷启动来保障服务的稳定性

发布时间:2021-12-21 15:28:51 来源:亿速云 阅读:104 作者:柒染 栏目:云计算

Sentinel是怎么通过匀速请求和冷启动来保障服务的稳定性 ,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

一、需求场景描述

在 RocketMQ 中,当消费者去消费消息的时候,无论是通过 pull 的方式还是 push 的方式,都可能会出现大批量的消息突刺。如果此时要处理所有消息,很可能会导致系统负载过高,影响稳定性。但其实可能后面几秒之内都没有消息投递,若直接把多余的消息丢掉则没有充分利用系统处理消息的能力。

Sentinel是怎么通过匀速请求和冷启动来保障服务的稳定性cdn.com/d19e0ebb5b197afa5025af336dca311ec71c5b1f.png">

我们可以看到消息突刺往往都是瞬时的、不规律的,其后一段时间系统往往都会有空闲资源。我们希望把红色的那部分消息平摊到后面空闲时去处理,这样既可以保证系统负载处在一个稳定的水位,又可以尽可能地处理更多消息,这时候我们可以通过 Sentinel匀速请求的特性 ,来为 RocketMQ 削峰填谷,保驾护航。

二、Apache RocketMQ 一键接入 Sentinel

1、实时监控:

Sentinel 提供 API 用于获取实时的监控信息,使用时可以添加以下依赖:

API 接入文档:

https://github.com/alibaba/Sentinel/wiki/实时监控

为了便于使用,Sentinel 还提供了一个控制台(Dashboard)用于配置规则、查看监控、机器发现等功能。我们只需要按照 Sentinel 控制台文档 启动控制台,然后给对应的应用程序添加相应参数并启动即可(注意客户端需要添加上面的 transport 依赖)。

控制台文档:

https://github.com/alibaba/Sentinel/wiki/控制台

这样在启动 Consumer 示例以后,就可以在 Sentinel 控制台中找到我们的应用了。可以很方便地在控制台中配置限流规则:
Sentinel是怎么通过匀速请求和冷启动来保障服务的稳定性

对比普通限流模式下的监控图线:

Sentinel是怎么通过匀速请求和冷启动来保障服务的稳定性

2、冷启动

除了匀速器,另一种在面对RocketMQ 场景下流量突增时来保障系统稳定性的的方式是冷启动。该方式主要用于系统长期处于低水位的情况下,当流量突然增加时,直接把系统拉升到高水位可能瞬间把系统压垮。通过"冷启动",让通过的流量缓慢增加,在一定时间内逐渐增加到阈值上限,给冷系统一个预热的时间,避免冷系统被压垮的情况。具体的例子参见 WarmUpFlowDemo。

看完上述内容,你们掌握Sentinel是怎么通过匀速请求和冷启动来保障服务的稳定性 的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI