Sentinel是怎么通过匀速请求和冷启动来保障服务的稳定性
Sentinel是怎么通过匀速请求和冷启动来保障服务的稳定性 ,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
为波密等地区用户提供了全套网页设计制作服务,及波密网站建设行业解决方案。主营业务为成都网站设计、网站制作、波密网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
一、需求场景描述
在 RocketMQ 中,当消费者去消费消息的时候,无论是通过 pull 的方式还是 push 的方式,都可能会出现大批量的消息突刺。如果此时要处理所有消息,很可能会导致系统负载过高,影响稳定性。但其实可能后面几秒之内都没有消息投递,若直接把多余的消息丢掉则没有充分利用系统处理消息的能力。
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 控制台中找到我们的应用了。可以很方便地在控制台中配置限流规则:
对比普通限流模式下的监控图线:
2、冷启动
除了匀速器,另一种在面对RocketMQ 场景下流量突增时来保障系统稳定性的的方式是冷启动。该方式主要用于系统长期处于低水位的情况下,当流量突然增加时,直接把系统拉升到高水位可能瞬间把系统压垮。通过"冷启动",让通过的流量缓慢增加,在一定时间内逐渐增加到阈值上限,给冷系统一个预热的时间,避免冷系统被压垮的情况。具体的例子参见 WarmUpFlowDemo。
看完上述内容,你们掌握Sentinel是怎么通过匀速请求和冷启动来保障服务的稳定性 的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!
分享文章:Sentinel是怎么通过匀速请求和冷启动来保障服务的稳定性
网页URL:http://hbruida.cn/article/gpoice.html