【金蝶天燕鲲鹏云最佳实践 二】ApusicMQ v9消息中间件实践系列(三)集群部署

举报
davidaer 发表于 2020/03/04 13:22:39 2020/03/04
【摘要】 金蝶Apusic v9 鲲鹏云消息中间件(以下简称AMQ)提供节点的集群功能,提供web管理控制台进行所有AMQ节点的管理及集群的管理。

 

一、 介绍

金蝶Apusic v9 鲲鹏云消息中间件(以下简称AMQ),AMQ提供节点的集群功能,提供web管理控制台进行所有AMQ节点的管理及集群的管理。

二、 环境准备

jdk版本

jdk1.8

AMQ

Apusic-MQ-V9.0-OS-Independent.zip

注册中心

apusic-mq-center.zip

三、 注册中心

1、 安装

      获取产品包apusic-mq-center.zip,进行解压,产品目录: 

      1583298261161114.png

2、 启动

以arm架构为例,启动要使用apusic-mq-center-arm64脚本,打开命令窗口,执行如下命令:

 

./   apusic-mq-center-arm64  serve  -p  9888

 

参数说明:

serve

必填参数

-p

参数后面9888表示指定注册中心端口号;不加-p参数默认端口号是8080.

3、 登录管控

访问地址http://ip:9888/ui,用户名admin,密码admin,登录页面:

      1583298353239198.png

登录后页面:

      1583298447683565.png

首页显示基本的监控信息,包括注册中心服务器信息、cpu使用率、内存使用率、节点统计信息、操作日志信息。

4、 节点管理

节点管理主要功能是将网络可达的AMQ节点加入到注册中心中来,进行统一管理,包括心跳机制监控状态、节点的停止和重启、查看节点自身的管理控制台。

      1583298583978150.png

添加AMQ节点:

      1583298700879157.png

节点名称

AMQ节点的brokername

节点地址

AMQ节点所在服务器的ip

节点端口

AMQ节点的服务端口

节点SFTP端口

AMQ节点的文件传输服务端口

节点管控端口

AMQ节点的web管控访问端口

mq控制台密码

AMQ节点的web管控登录密码,默认admin

注:以上信息可在AMQ/conf/common.properties文件中查看

5、 集群模式

     1583298810705403.png

添加集群:

     1583298878591883.png

集群名称

设置集群名称

最小节点个数

设置集群中AMQ节点的最小个数

最大节点个数

设置集群中AMQ节点的最大个数

节点列表

左侧列表会列出所有未加入集群的AMQ节点,通过勾选将选择要加入集群的节点

添加描述信息

设置集群描述信息

集群列表:

      1583298914381467.png

集群列表->查看:可以查看当前集群中的AMQ节点信息,并能够进行移除集群操作

      1583298970677642.png

集群列表->添加:在没有达到集群的最大节点数时,可以往集群中添加AMQ节点

      1583299003169505.png

集群列表->删除:删除集群,当集群中的AMQ节点数为0时才可以进行删除

集群列表->实例URL:为AMQ客户端提供集群的访问地址,如ip:9888/v1/ /mq/instance/testcluster

四、 客户端调用集群示例

调用集群服务和调用单独的AMQ服务的API是一样的,只是调用的AMQ的工厂的url需要改为集群的实例URL,如:

ApusicMQConnectionFactory   factory = new ApusicMQConnectionFactory("cluster:failover:(localhost:9888/v1/mq/instance/testcluster)");

 

             Connection connection = factory.createConnection(user, password);

             connection.start();

             Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

             Destination dest = session.createQueue(destination);

           MessageProducer producer =   session.createProducer(dest);

cluster

访问集群关键字

failover

访问集群失效转移关键字

localhost:9888/v1/mq/instance/testcluster

集群实例URL

五、 集群架构

       1583299071868962.png

AMQ通过注册中心实现对集群的统一管理,注册中心对外提供集群服务地址;集群中的AMQ节点内部通过组播方式实现互联,集群中AMQ节点中的消息可按消费者进行内部流转,并能够按照消费者负载均衡。工作过程:

发送消息:生产者向集群发送生产消息请求,注册中心会根据策略分配一个AMQ节点(如图中的AMQ-A),生产者发送的消息将存储在AMQ-A节点上。

接收消息:消费者想集群发送接收消息请求,注册中心会根据策略分配一个AMQ节点(如图中的AMQ-B),消费者接入时,集群内部自动将AMQ-A中存储的消息转发到AMQ-B节点,然后消费者即可顺利的消费消息了,当然如果有多个消费者连在了不同的AMQ节点上时,消息是负载均衡进行分发的。

AMQ集群提高了整体消息服务的吞吐量,同时也保障了消息服务的高可用。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。