欢迎来到天天文库
浏览记录
ID:41528545
大小:92.03 KB
页数:20页
时间:2019-08-27
《ActiveMQ部署方案分析对比》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、ActiveMQ集群部署方式对比ActiveMQ集群部署方式包括如下几种:PureMasterSlave方式SharedFilesystemMaster-Slave方式SharedDatabaseMaster-Slave方式ReplicatedLevelDBStore方式Broker-Cluster部署方式模式介绍传统的主从模式配置:只能是Master提供服务,Slave是实时地备份Master的数据,以保证消息的可靠性。当Master失效吋,Slave会自动升级为Master,客户端会自动连接
2、到Slave上工作利用共亨文件系统做ActiveMQ集群,是基于ActiveMQ的默认数据库kahaDB完成的,kahaDB的底层是文件系统。这种方式的集群,Slave的个数没有限制,哪个ActiveMQ实例先获取共亨文件的锁,那个实例就是Master,其它的ActiveMQ实例就是Slave,当当前的Master失效,其它的Slave就会去竞争共亨文件锁,谁竞争到了谁就是Mastero和SharedFileSysytemMasterSlave模式的原理是一样的,只是把共享文件系统换成了共享数据
3、库这种主备方式是ActiveMQ5.9以后才新增的特性,使用ZooKeeper协调选择一个node作为mastero被选择的masterbrokernode开启并接受客户端连接。主要是通过networkofBrokers在多个ActiveMQ实例之间进行消息的路由,可以解决服务负载问题。关注度低高低高低利用率低5.9版本后取消高低高低单点故障解决,但是只支持一次故障。解决解决解决不解决咼可用否否否否是评价老版本的部署方式,在5.9版本后已经収消了这么部署模式,可以支持一次故障。是冃前较流行的部署
4、方式,使用active自带的db模式。町以使用nas文件系统方式实现多机部署。只是将文件系统模式改成了数据库模式,这种模式比文件系统模式简单,但是一旦数据库失效,则所有的activemq实例都会失效。这种是5.9版本后增加的新的特性,属于典型的互联网架构设计,引入zookeeper,如I果有现成的zookeeper集群,则部署简单,否则,zookeeper现故障后,会影响activemq集群。实现了高可用性,但是没有解决单点问题。一旦实例出现故障,则会造成activemq服务不可用。构建高可用的
5、ActiveMQ系统在主产环境中是非常重要的,单点的ActiveMQ作为企业应用无法满足高可用和集群的需求,所以ActiveMQ提供Tmaster-slave>brokercluster等多种部署方式,但通过分析多种部署方式Z后我认为需要将两种部署方式相结合才能满足我们公司分布式和高可用的需求。自从activemq5.9.0开始,activemq的集群实现方式取消了传统的PureMasterSlave方式,增加了基Tzookeeper+leveldb的实现方式,其他两种方式:冃录共享和数据库共享
6、依然存在。1>Master-Slave部署方式1)>SharedFilesystemMaster-Slave方式2)、SharedDatabaseMaster-Slave方式3)、ReplicatedLevelDBStore方式第一种方案同样支持N个AMQ实例组网,但由于他是基于kahadb存储策略,亦可以部署在分布式文件系统上,应用灵活、高效且安全。(如果不需要考虑负载问题,则可用考虑用分布式文件系统模式部署)第二种方案与sharedfilesystem方式类似,只是共享的存储介质由文件系统改
7、成了数据库而已,支持N个AMQ实例组网,但他的性能会受限于数据库;笫三种方案是ActiveMQ5.9以后才新增的特性,使用ZooKeeper协调选择一个node作为mastero被选择的masterbrokernode启并接受客户端连接。其他node转入slave模式,连接master并同步他们的存储状态。slave不接受客户端连接。所有的存储操作都将被复制到连接至Master的slaves□如果master死了,得到了最新更新的slave被允许成为master。fillednode能够重新加入
8、到网络中并连接master进入slavemode。所有需要同步的disk的消息操作都将等待存储状态被复制到其他法定节点的操作完成才能完成。所以,如果你配置了replicas=3,那么法定大小是(3/2)+l=2.Master将会存储并更新然后等待(2-1)二1个slave存储和更新完成,才汇报successo至于为什么是2-1,熟悉Zookeeper的应该知道,有一个node要作为观擦者存在。单一个新的master被选中,你需要至少保障一个法定node在线以能够找到拥有最新状态的node。这个n
此文档下载收益归作者所有