消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息中间件有ActiveMQ,RabbitMQ、OracleJMS等。
本文我们来分享一下OracleJMS消息中间件集群的搭建。
一、环境信息介绍
搭建OracleJMS消息中间件,前提我们得预先部署一套weblogicserver集群,搭建weblogic集群的方案,绝大部分中间件同时应该已经驾轻就熟了,篇幅关系,再次不做详细赘述。Weblogic集群信息如下所述。
集群信息:
计算机信息:
每个计算机下有4个服务器
NodeManager:
每个计算机下配置NodeManager
服务器信息
在服务器启动参数中增加了以下参数,根据压力测试情况可适当调整内存及线程设置数值。
二、设置集群故障迁移
2.1 设置集群迁移配置
点击环境--集群,打开集群概要界面
点击集群名称,进入集群设置界面,点击配置,选择迁移标签页,设置迁移基础为“一致”
2.2 配置可迁移目标
点击环境->集群->可迁移目标,打开可迁移目标概要
点击新建,打开新建可迁移目标界面
填写配置信息点击下一步,用户首选服务器是需要迁移的服务器,服务迁移策略选择“自动迁移故障恢复服务”,点击完成,激活更改。
点击对应的可迁移目标,打开迁移目标设置,点击“迁移”标签页
设置受约束的候选服务器,注意排除当前计算机上的服务器,使可迁移目标服务器所在计算机不同。如appServer10所在计算机是Machine-3,故相同机器的appServer9、appServer11、appServer12都不在选择范围之内。
共配置16个可迁移目标,如下图:
三、配置持久性存储
点击服务->持久性存储,打开持久性存储概要界面
锁定并编辑,点击新建按钮,选择“创建FileStore”
打开新建文件存储界面,填写配置信息,点击“ok”创建成功,激活更改。
分别为所有服务器创建持久性存储,配置完成后,如下图:
四、配置JMS服务器
点击服务->消息传送->JMS服务器,打开JMS服务器概要
点击新建,打开新建JMS服务器界面
填写配置信息,点击下一步
目标和上一步选择的持久性存储的目标要一致。点击完成,激活更改。本案例共创建16个JMS服务器,如下图:
五、创建JMS系统模块
点击服务->消息传送->JMS系统模块,打开JMS系统模块概要界面
点击新建按钮,打开新建JMS模块界面
填写配置信息,点击下一步
目标选择集群中的所有服务器,点击完成,激活更改
5.1 创建JMS连接工厂
点击JMS模块名称,进入设置界面
点击新建按钮,打开新建JMS系统模块资源
资源类型选择连接工厂,点击下一步
填写配置信息,点击下一步
点击高级定位
点击新建子部署
勾选目标“集群中所有服务器”,完成配置。
5.2 创建分布式消息队列
点击JMS模块名称,进入设置界面
点击新建
资源类型选择分布式队列,点击下一步
填写配置信息,点击下一步
目标选择集群中所有服务器,点击高级定位
子部署选择连接工厂中创建的子部署,目标选择集群中所有服务器。点击完成,激活更改。
连接工厂和分布式队列创建完成后如下图所示:
六、配置负载均衡
点击服务->消息传送->JMS模块->SystemModule1,进入JMS模块设置界面,点击连接工厂ConnectionFactoryExtSystem,打开连接工厂配置界面。点击配置->负载均衡标签页,设置启动负载平衡。
七、配置流控信息
7.1 设置连接工厂流控
点击服务->消息传送->JMS模块->SystemModule1,进入JMS模块设置界面,点击连接工厂ConnectionFactory1,打开连接工厂配置界面。点击配置->流控制标签页,设置单个连接的最大写入速度。
7.2 设置分布式队列阈值和限额
点击服务->消息传送->JMS模块->SystemModule1,进入JMS模块设置界面,点击分布式队列BOSS_MSG_RESULT_QUEUE,打开分布式队列配置界面。点击阈值和限额标签页,设置消息阈值上限和消息阈值下限
END