镜像集群搭建及Springboot连接镜像集群

镜像集群搭建及Springboot连接镜像集群,第1张

镜像集群搭建及Springboot连接镜像集群

        前面已经搭建了由3个节点组成的普通集群,接下来在普通集群的基础上搭建镜像集群,实现高可用以及消息备份。

登录任意节点的管控台:

Admin-->policies-->Add / update a policy

 

Name: 策略名称
Pattern: 匹配任意队列或交换机
ha-mode:all 在所有节点同步消息
ha-sync-mode:automatic 自动同步消息

在任意节点上创建1个测试队列,如果看到如下node里有其他节点信息,说明镜像集群搭建完成

 

以后如果需要对集群进行重启顺序是这样:

启动顺序:磁盘节点==>内存节点

关闭顺序:内存节点==>磁盘节点

创建集群时,指定了节点类型磁盘节点或者内存节点,要按照如上方式进行启动或关闭,否则可能会启动失败,或者丢失消息。 

springboot项目连接镜像集群与连接普通集群的方式相同,使用前面连接普通集群的项目进行测试。

启动项目,调用send接口发送消息,根据日志可以看到项目连接的是node2节点,去管控台查看:

发现order_queue被创建,里面有一条消息

根据项目的连接日志,我们直到消息存储在节点node2上,现在我们停掉node2,看order_queue中的消息是否能被使用。

node2已经下线

 

通过管控台,我们发现,一开始创建时order_queue属于node2节点,但是node2下线后,order_queue现在已经归属于node3。

我们启动程序,根据服务日志可以发现可以正常消费队列中的消息

msgTag=1
message=(Body:'新订单 1' MessageProperties [headers={}, contentType=text/plain, contentEncoding=UTF-8, contentLength=0, receivedDeliveryMode=PERSISTENT, priority=0, redelivered=true, receivedExchange=exchange_order, receivedRoutingKey=order.new, deliveryTag=1, consumerTag=amq.ctag-fIfWNwHmdF9QPxbjr-m_Sw, consumerQueue=order_queue])
body=新订单 1
*****************************

根据测试,可以验证出如下结论:镜像集群,除了同步虚拟主机、交换机、队列等元数据,还会同步消息,具有高可用性,某些节点宕机不影响集群使用,消息在多个节点上同步备份,因此不会丢失消息。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5118994.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-17
下一篇2022-11-17

发表评论

登录后才能评论

评论列表(0条)

    保存