千家信息网

数据库服务activemq在灾备双活建设中有什么作用

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要讲解了"数据库服务activemq在灾备双活建设中有什么作用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"数据库服务activemq在灾备
千家信息网最后更新 2026年11月02日数据库服务activemq在灾备双活建设中有什么作用

这篇文章主要讲解了"数据库服务activemq在灾备双活建设中有什么作用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"数据库服务activemq在灾备双活建设中有什么作用"吧!

概述

activemq是业界非常流行的、功能强大的、开源消息中间件。以快速、支持多种跨语言客户端和协议著称;完全支持JMS 1.1 and J2EE 1.4。在各个行业中有大量的应用案例。

由于activemq承担着消息服务的重要角色,在这篇文章中我们重点讲述在灾备双活建设中activemq设计、规划、部署。

目标

灾备双活建设最完美的架构设计:在同城、异地2个数据中心,在最极端情况下,例如单数据中心垮掉情况下,保证消息零丢失,支持7*24服务要求。

需求描述

1.1 机房故障

1) 现象描述

消息队列中间件部署在A、B两个不同的机房中,客户端根据负载的策略转发到对应机房的消息中间件,其中A或者B机房因为断电或者灾难等因素出现故障,无法继续提供服务。此时仅有一个机房正常。

2) 现象图示

3) 服务影响

正常情况下,对于客户端的连接平均分布在两个机房中,出现单个机房故障后,连接在故障机房中的连接会断开,正在执行未提交的事务将会回滚,对于发起的新连接不受任何影响,依然可以通过配置的负载策略访问正常机房中的消息中间件服务。

4) 故障恢复

当机房恢复正常后,启动消息中间件服务,此时,只要主机、网络恢复正常,消息中间件服务就可以启动成功。这时,AB机房按照负载策略继续处理连接,最终使得每个机房的中间件连接数无限接近。

1.2 服务器DOWN

1) 现象描述

在运行的消息中间件集群架构中,存在N个主机,其中任意N-2个主机DOWN机,不具备服务提供能力,仅剩余大于1个主机存活可以提供服务的场景。

2) 现象图示

3) 服务影响

主机DOWN掉后,已经连接在该主机消息中间件上的连接会断开,对应的事务会回滚,新的连接不受到影响。

4) 故障恢复

当主机故障处理后,启动故障主机,并启动消息中间件服务。根据负载均衡算法,客户端连接会重新分配到该主机上的节点。

1.3 消息中间件节点崩溃

1) 现象描述

在运行的消息中间件集群架构中,存在N个节点,其中任意N-2个节点崩溃,不具备服务提供能力,仅剩余大于1个节点存活可以提供服务的场景。

2) 现象图示

3) 服务影响

当消息中间件节点崩溃后,已经连接在该主机消息中间件上的连接会断开,对应的事务会回滚,新的连接不受到影响。

4) 故障恢复

当消息队列节点故障处理后,启动消息中间件服务。根据负载均衡算法,客户端连接会重新分配到该节点。

架构设计

1.1 架构设计要点

●、采用activemq的何种架构来实现上述需求?

采用主从+Broker-Cluster方式来实现,主从架构实现了HA(高可用)功能,借用zookeeper的选举投票功能,保证"过半即可用",所以推荐的HA架构的节点数为单数,至少3个节点,任何时候垮掉一个节点都不影响正常使用。

同时结合Broker-Cluster,Broker-Cluster的部署方式可以解决负载均衡和分布式问题,因为单一主从方式无法解决负载均衡的问题。

●、如何保证未消费消息在各个节点间的同步?

采用leveldb(LevelDB是Google开源的持久化KV单机数据库,具有很高的随机写,顺序读/写性能)实现各个节点间的同步写,保证数据在同一个Broker-Cluster组下复制,以3个节点为例,同一条堆积消息,在3个节点保持同步,在最极端情况下,即使2个节点的数据文件丢失,也能防止数据丢失。

●、如何保证在灾难情况下,消息服务仍然可以正常提供服务?例如考虑最极端情况下,单边数据中心宕机?

采用2套主从、2套Broker-Cluster,并且保证2个数据中心各包含一套主从的2个节点,如下图所示,cluster1的2个节点在B中心,cluster2的2个节点在A中心,即使A、B整个数据中心发生灾难,都不影响jms服务正常运行。

●、保证在各种灾难场景都实现了7*24和消息零丢失吗?

是的,只要保证一个cluster下的2个节点可用的情况下,不管在任何一种组合下,jms服务都是可用的。

●、客户端如何来调用集群的jms地址

connectionFactory = new ActiveMQConnectionFactory(

ActiveMQConnection.DEFAULT_USER,

ActiveMQConnection.DEFAULT_PASSWORD,

"failover:(tcp://192.168.40.140:61616,tcp://192.168.40.140:61617,tcp://192.168.40.141:61619,tcp://192.168.40.141:61620,tcp://192.168.40.141:61621,tcp://192.168.40.140:61618)");

如上例子,activemq根据随机策略,调用任一可用的节点

1.2 架构图示

●、架构示例图如下:

◆、哪一个节点是master,没有要求,那个先启动那个就可能成为master。

◆、master节点是当前提供服务的节点。

感谢各位的阅读,以上就是"数据库服务activemq在灾备双活建设中有什么作用"的内容了,经过本文的学习后,相信大家对数据库服务activemq在灾备双活建设中有什么作用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

服务 节点 消息 中间件 数据 机房 主机 故障 架构 情况 保证 影响 建设 客户 现象 数据库 主从 客户端 数据中心 作用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 苏州找大状互联网科技有限公司 朗新科技与工业互联网 科技与互联网发展 互联网科技的未来发展 深圳期待互联网科技 农村开互联网科技讲堂 科技互联网的估值 金融科技与互联网金融相同和不同 互联网科技扶贫时间 互联网科技的全部知识 佛山市拉法互联网科技有限公司 徐州市互联网科技有限公司 每天都有哪些好的互联网科技 互联网营销推广黑科技 萌小萌互联网科技河南有限公司 兰石爱特工业互联网科技分公司 互联网科技品牌 承德科技产业互联网平台 广东猫王互联网科技有限公司电话 互联网高科技绘画 花魁咖啡 易互联网科技有限公司 致骋互联网科技 广西互联网科技公司 中国互联网有什么科技含量 崇明区互联网教育科技诚信经营 链环科技传统企业怎么转型互联网 中天科技中国工业互联网 互联网领先科技宣传片 恒生科技指数 中概互联网
0