activemq主从共享数据库集群方案
2021/12/6 2:17:43
本文主要是介绍activemq主从共享数据库集群方案,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录数据库共享方案1、 使用数据库进行消息持久化1.1、引入数据库驱动包和数据库连接池1.2、修改activemq.xml,使用jdbc持久化2、集群配置 3、客户端使用 http://activemq.apache.org/failover-transport-reference.html4、原理简述
集群配置参考 http://activemq.apache.org/clustering.html
数据库共享方案
1、 使用数据库进行消息持久化
1.1、引入数据库驱动包和数据库连接池
根据需要,把数据库驱动放到activemq目录下 lib/extra 如:mysql-connector-java-5.1.41.jar
1.2、修改activemq.xml,使用jdbc持久化
# /var/activemq/conf/activemq.xml 文件 persistenceAdapter节点 <!-- persistent=true--> <broker brokerName="localhost" persistent="true" xmlns="http://activemq.apache.org/schema/core"> <persistenceAdapter> <!-- 这里是关键 --> <jdbcPersistenceAdapter dataSource="#mysql-ds" useDatabaseLock="false" transactionIsolation="4"/> </persistenceAdapter> ........ </broker> <!-- MySql DataSource Sample Setup --> <bean id="mysql-ds" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://database.tony.com:3306/test_activemq?relaxAutoCommit=true"/> <property name="username" value="tony"/> <property name="password" value="tony"/> <property name="poolPreparedStatements" value="true"/> </bean>
2、集群配置
多台服务器部署启动activemq服务,使用同一个数据库
3、客户端使用 http://activemq.apache.org/failover-transport-reference.html
# brokerURI 使用failover,故障自动切换方式 # 非failover的公共参数配置通过nested.*,例如 failover:(...)?nested.wireFormat.maxInactivityDuration=1000 # ?randomize=false 随机选择,默认是顺序 # 指定优先切换 failover:(tcp://host1:61616,tcp://host2:61616,tcp://host3:61616)?priorityBackup=true&priorityURIs=tcp://local1:61616,tcp://local2:61616 # maxReconnectDelay重连的最大间隔时间(毫秒) brokerUrl = "failover:(tcp://activemq.tony.com:61616,tcp://activemq-slave.tony.com:61616)?initialReconnectDelay=100";
4、原理简述
1、 数据库表自动创建 2、 多服务器争抢获取LOCK表锁 3、 连接断开后,客户端自动重连
这篇关于activemq主从共享数据库集群方案的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-01巧用 TiCDC Syncpoint 构建银行实时交易和准实时计算一体化架构
- 2024-05-01银行核心背后的落地工程体系丨Oracle - TiDB 数据迁移详解
- 2024-04-26高性能表格工具VTable总体构成-icode9专业技术文章分享
- 2024-04-16软路由代理问题, tg 无法代理问题-icode9专业技术文章分享
- 2024-04-16程序猿用什么锅-icode9专业技术文章分享
- 2024-04-16自建 NAS 的方案-icode9专业技术文章分享
- 2024-04-14ansible 在远程主机上执行脚本,并传入参数-icode9专业技术文章分享
- 2024-04-14ansible 在远程主机上执行脚本,并传入参数, 加上remote_src: yes 配置-icode9专业技术文章分享
- 2024-04-14ansible 检测远程主机的8080端口,如果关闭,则echo 进程已关闭-icode9专业技术文章分享
- 2024-04-14result 成功怎么写-icode9专业技术文章分享