比防说为了防止MQ重复消费,那常用的防重手段有哪些?
除了依赖于唯一索引(防重表)之外是否还有其他的方法呢?
最好结合上游数据实际分布情况来考虑,比如重复数据是时间密集的,那加个分布式缓存,设置个ttl就行
如果重复数据是时间离线的,可能需要用到数据库做长时间存储了
可以使用redis 来做key 的缓存,速度更快
可以用个kv store当缓存保存已经消费的主键,一般MQ重复消费的间隔时间很短,业务允许的话可以设置过期时间,即在n分钟内不重复消费,这样对数据库的设计、性能压力会减小
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。