activemq的高级特性:集群实战

高级特性实战需求

 当消费端是多个集群,集群A又包含多个服务。

 当每个集群都要接受相同的一批消息,而集群内的每个服务都去分摊消息。

  解决办法一:级联

    增加一个中转者。但是不是特别的优化,而且性能也不是特别的好。

  解决办法二:

    1:虚拟主题

     生产者

      Destination destination = session.createTopic("VirtualTopic.vtgroup");

      生产者使用topic模式,VirtualTopic是固定的,vtrgroup是自定义的。

     消费者

     Destination destination = session.createQueue("Consumer.A.VirtualTopic.vtgroup");

      消费者使用queue模式,Consumer是固定格式,A是集群标识,如果其他消费者也是在这个集群,就是A来标识

      VirtualTopic.vtgroup和生产者一样。

   2:组合Destinations

       生产者

        Destination destination = session.createQueue("cd.queue,cd.otherqueue");  

         使用queue模式,在里面是用多个队列。

      消费者

        Destination destination = session.createQueue("cd.queue");

         消费者也使用queue模式,如果是一个集群里面的,队列名称保持一致就行。

 

参考mqdemo地址:https://www.cnblogs.com/orange-time/p/10609020.html 

 

posted @ 2019-04-04 10:59  陌然浅笑  阅读(272)  评论(0编辑  收藏  举报