美文网首页
业务中如何实现幂等性

业务中如何实现幂等性

作者: 94nbiot | 来源:发表于2018-01-31 20:22 被阅读0次

    在消息处理中经常需要考虑到消息重复发送了怎么办?

    这个时候需要做幂等处理,也就是一个消息只能被消费一次,那如何判断一个消息已经被消费了呢?

    1、利用类似mysql这种具有唯一性约束的数据库机制

        评论:需要落库,比较重

    2、消费消息的时候,先根据唯一key值做一次select,有则不用消费,没有则消费

        评论:select不一定是从关系型数据库中获取

    3、利用集合的contains方法

        评论:分布式环境下可以借助redis来实现,存在网络消耗,且集合的大小需要确定一个固定大小,或者设计成一个队列,

        分布式网络环境下,如何本地缓存实现去重?

    4、利用分布式缓存(如redis),做已处理标识位,每次处理消息的时候都去check一下

    相关文章

      网友评论

          本文标题:业务中如何实现幂等性

          本文链接:https://www.haomeiwen.com/subject/wewlzxtx.html