基于Primeton ESB的高可用MQ集群配置
来源:互联网 发布:sql注入防范 编辑:程序博客网 时间:2024/06/13 10:53
查看原文
Primeton ESB中内置ActiveMQ 5.10.1。在实施ESB项目过程中,不少客户提出对于消息服务的请求,以实现异步的消息通信机制。
在基于现在ESB平台的基础上,通过适当配置,即可实现MQ的不同类型的高可用,从而支持业务系统的连续性。
原生的ActiveMQ支持基于文件系统的Master-slave集群、基于数据库的Master-slava集群以及基于共享Broker的集群模式。
- 基于Master-slave的集群配置:
- 优势:主从集群的优势在于其业务的连续性,发生单点故障时,不会造成消息的中断,同时生产者已发送的消息会自动由另一个节点读取,并等待消费,满足完全的高可用。
- 劣势:由于采用了共享的文件,为保证文件的独占性,因此首次读取了文件的服务器会成为主机,并对共享文件加锁,后续的服务器无法获取共享文件锁,从而切换到standby状态,直接主机发生故障释放锁,同一时期只有一台服务器对外提供服务,无法实现负载均衡,仅可满足高可用性。共享文件系统需要依赖NFS实现,对于NFS的稳定性要求较高
- 配置方式:所有主从服务器需要设备共享文件系统,在配置存储路径时如下:
共享文件系统的集群配置
<persistenceAdapter><kahaDB directory="/data/mqdata/kahadb" enableIndexWriteAsync="true" enableJournalDiskSyncs="false"/></persistenceAdapter>所有节点的存储路径指定同一目录
- 基于数据库Master-slave集群配置:
- 优势:将数据存储至数据库,由数据库保证其数据的稳定性,同时具备共享文件系统的集群的优势。
- 劣势:额外增加数据库配置,维护工作量增加
- 配置方式:与共享文件系统大致相同,其不同之处在于持久化配置方式由文件系统转为数据库内,共享数据库的集群配置
<persistence><jdbcPersistence dataSourceRef="mysql-ds"/></persistence>
- 基于共享Broker的集群模式配置
- 优势:集群中的所有节点都可以提供服务,在满足高可用的同时,可提供负载均衡。在集群所有节点生产运行,发送至任一节占的消息,都可以通其它任一节点消费,共享的borker可被视为消息池。
- 劣势:由于集群采用共享逻辑的broker,因此在访问过程中,当生产者发送至其中任一节点时,当该节点正好发生故障,其未被消费的消息将无法读取,直接故障节点恢复正常,从而造成消息队列中的消息顺序发生偏移。
- 配置方式:各节点通过网络间的互联实现消息broker的共享共享Broker的集群配置
<networkConnectors><networkConnector uri="static:(tcp://localhost:7777)"name="bridge" dynamicOnly="false" conduitSubscriptions="true" decreaseNetworkConsumerPriority="false"> </networkConnector</networkConnectors>
0 0
- 基于Primeton ESB的高可用MQ集群配置
- mq系列rabbitmq-02集群+高可用配置
- RabbitMQ > 基于MQ的ESB
- 基于高可用配置的RabbitMQ集群实践
- 基于zookeeper的Spark高可用集群配置
- 搭建基于heartbeat的高可用集群
- JMS之——ActiveMQ高可用集群安装、配置(基于ZooKeeper + LevelDB的伪集群)
- JMS之——ActiveMQ高可用集群安装、配置(基于ZooKeeper + LevelDB的伪集群)
- hadoop2.2.0集群的高可用配置
- Zookeeper高可用集群的安装配置
- 基于高可用(HA)集群的Apache+iscsi服务的配置
- 配置terracotta高可用集群
- Kubernetes集群配置高可用
- eureka集群高可用配置
- Spark高可用集群配置
- 基于docker的sentinel的高可用Redis集群
- 基于keepalived、redis sentinel的高可用redis集群
- 基于zookeeper的高可用Hadoop HA集群安装
- 7.learningAction(行为库)2
- 网络编程-实验1-C与S通信
- Spring 学习2--Spring特殊语义注释类定义bean
- 测试博客
- Java异常
- 基于Primeton ESB的高可用MQ集群配置
- C# Keycode对照表
- 鼠标滚轮兼容火狐,
- Android5.0 开机设置静态IP地址
- 《APUE》读书笔记—第十三章守护进程
- ffmpeg源码简析(一)结构总览
- INSTALL_FAILED_INVALID_APK: /data/app/vmdl654475879.tmp/8_slice__ signatures are inconsistent
- spring简介【了解】
- iOS汉语转拼音以及按照拼音排序