zoukankan      html  css  js  c++  java
  • Stream的分组消费与持久化

    故障现象: 重复消费:当两个端口号同时收到了 ,也就是一个订单同时被两个服务获取到,那么就会造成数据错误。
    在生产实际中一定要避免重复消费这个环节,而解决此现象可以采用分组或者持久化方法

    在Stream中处于同一个group中的多个消费者是竞争关系,就能保证消息只会被其中一个应用消费一次。而不同组是可以全面消费的(重复消费),同一组内会发生竞争关系,只有其中一个可以消费。

    重复消费的导致原因:默认分组 group是不同的,组流水号不一样,被认为不同组,可以消费

    解决方法: 自定义配置分组

    自定义配置分为同一个组,解决重复消费

    (但分组后仍然有队列的历史记录,这样消息可能会导致堆积,队列应该要做成非持久队列,而rabbit的路由没有配,所以不同队列的广播,同队列的会轮询)

    持久化

    也就是autoDelete为false,为指定的会消息丢失,指定的重启后会继续接收

  • 相关阅读:
    JArray
    签名和验签
    private、protected、public和internal的区别
    DataTime.Now.Ticks
    NameValuePair 简单名称值对节点类型
    01安卓目录结构
    SDK目录结构
    java wait和notify及 synchronized sleep 总结
    安卓常用的第三方框架
    OkHttp使用教程
  • 原文地址:https://www.cnblogs.com/nineberg/p/13498744.html
Copyright © 2011-2022 走看看