文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-04-02 19:55

关注

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

概述

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

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

目标

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

需求描述

1.1 机房故障

1) 现象描述

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

2) 现象图示

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

3) 服务影响

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

4) 故障恢复

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

1.2 服务器DOWN

1) 现象描述

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

2) 现象图示

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

3) 服务影响

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

4) 故障恢复

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

1.3 消息中间件节点崩溃

1) 现象描述

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

2) 现象图示

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

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 架构图示

●、架构示例图如下:

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

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

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

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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯