【金蝶天燕鲲鹏云最佳实践 二】ApusicMQ v9消息中间件实践系列(三)集群部署
一、 介绍
金蝶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,进行解压,产品目录:
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,登录页面:
登录后页面:
首页显示基本的监控信息,包括注册中心服务器信息、cpu使用率、内存使用率、节点统计信息、操作日志信息。
4、 节点管理
节点管理主要功能是将网络可达的AMQ节点加入到注册中心中来,进行统一管理,包括心跳机制监控状态、节点的停止和重启、查看节点自身的管理控制台。
添加AMQ节点:
节点名称 | AMQ节点的brokername |
节点地址 | AMQ节点所在服务器的ip |
节点端口 | AMQ节点的服务端口 |
节点SFTP端口 | AMQ节点的文件传输服务端口 |
节点管控端口 | AMQ节点的web管控访问端口 |
mq控制台密码 | AMQ节点的web管控登录密码,默认admin |
注:以上信息可在AMQ/conf/common.properties文件中查看
5、 集群模式
添加集群:
集群名称 | 设置集群名称 |
最小节点个数 | 设置集群中AMQ节点的最小个数 |
最大节点个数 | 设置集群中AMQ节点的最大个数 |
节点列表 | 左侧列表会列出所有未加入集群的AMQ节点,通过勾选将选择要加入集群的节点 |
添加描述信息 | 设置集群描述信息 |
集群列表:
集群列表->查看:可以查看当前集群中的AMQ节点信息,并能够进行移除集群操作
集群列表->添加:在没有达到集群的最大节点数时,可以往集群中添加AMQ节点
集群列表->删除:删除集群,当集群中的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 |
五、 集群架构
AMQ通过注册中心实现对集群的统一管理,注册中心对外提供集群服务地址;集群中的AMQ节点内部通过组播方式实现互联,集群中AMQ节点中的消息可按消费者进行内部流转,并能够按照消费者负载均衡。工作过程:
发送消息:生产者向集群发送生产消息请求,注册中心会根据策略分配一个AMQ节点(如图中的AMQ-A),生产者发送的消息将存储在AMQ-A节点上。
接收消息:消费者想集群发送接收消息请求,注册中心会根据策略分配一个AMQ节点(如图中的AMQ-B),消费者接入时,集群内部自动将AMQ-A中存储的消息转发到AMQ-B节点,然后消费者即可顺利的消费消息了,当然如果有多个消费者连在了不同的AMQ节点上时,消息是负载均衡进行分发的。
AMQ集群提高了整体消息服务的吞吐量,同时也保障了消息服务的高可用。
- 点赞
- 收藏
- 关注作者
评论(0)