MQ基础详解

请问怎么控制rocketmq的消费速度,按照我指定的速率进行消费?

答:RocketMQ可以使用 Sentinel来进行消息限流,如果消息生产速度很大, Sentinel就会限制大量的消息,推送一小部门消息给消费者消费,消费完再推送,这种很匀速的推送,不会使得消费端出现系统负载,从而保证系统的稳定。 
        Sentinel专门为这种场景提供了匀速器的特性,可以把突然到来的大量请求以匀速的形式均摊,以固定的间隔时间让请求通过,以稳定的速度逐步处理这些请求,起到“削峰填谷”的效果,从而避免流量突刺造成系统负载过高。

问题1: 用户登录每次都要发登陆事件到MQ,然后消费这条消息,然后判断 检查这个优惠券是否有效,还可以继续进行发券,检查当前用户是否发过券了 这是不是会经常重复操作?有没有好的其他方案?
答:这种其实就是一个业务问题,我们发券肯定也是有一个有限期的,不在这个时间范围内的肯定是不会发这个消息的,自然就没有下面的事了。其次假设在有效期,其实这个动作并没有带来什么性能损耗,检查券之类的,都可以基于redis查询,也就是一个判断的事,重复也没什么。
或者我们也可以做成时间范围内,第一次登陆才会送,也是可以的,主要看业务要求。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

time Friend

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值