基于websphere mq搭建高可用消息传输队列

基于websphere mq搭建高可用消息传输队列

ID:31431111

大小:106.00 KB

页数:5页

时间:2019-01-09

基于websphere mq搭建高可用消息传输队列_第1页
基于websphere mq搭建高可用消息传输队列_第2页
基于websphere mq搭建高可用消息传输队列_第3页
基于websphere mq搭建高可用消息传输队列_第4页
基于websphere mq搭建高可用消息传输队列_第5页
资源描述:

《基于websphere mq搭建高可用消息传输队列》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于WebsphereMQ搭建高可用消息传输队列  摘要:WebspereMq是IBM研发的一款优秀的消息中间件产品。该产品基于消息队列的存储转发机制,为不同应用的整合通信,信息交换提供稳定的桥梁。在实际应用中,底层产品如存储器等对中间件整体可用性有很大影响。该文在如何提高消息中间件可用性方面进行了探索。  关键词:WebsphereMQ;消息队列;高可用;负载均衡  中图分类号:TP31文献标识码:A文章编号:1009-3044(2015)19-0076-02  消息队列技术是分布式应用间交换信息的一种技术,在异步化分布式系统中,应用可以通过消

2、息队列进行数据传输,指令交换或者文件传递等。消息队列对外规约一致的存取接口,内部屏蔽了底层实现细节和协议的差异性,在解除了应用耦合的同时,使得应用可以专注于业务细节而非通信管控。  IBM公司研发的WebspereMQ就是一款典型的消息队列产品,在消息存储转发机制基础上,更好的原语设计,更强的通信协议适配以及定制性更好的安全策略等,都使得该系列在业界应用十分广泛,成为了不同操作系统,不同网络环境之间应用通信的桥梁。5  在很多关键性领域中如金融,交通管控等,往往对于消息可靠性要求较高。要做到消息不丢,不重,不错,即保证队列管理器能够同时实现数据和

3、服务的高可用,仅仅凭借MQ无法实现,需要从底层产品人手,同时对MQ自身的参数调配,搭建高可用的消息队列。  1基础知识介绍  应用程序把消息放进队列里,然后发往另外一个队列管理器中的队列,或者等待其他的应用程序把消息读走,由于其良好的适配性,常被用于不同主机间的进程间异步化通信。它有几个重要的概念:  1)队列管理器  MQ的基础设备,作为顶级单元,它往往被用于维护和管理其他通信中使用的对象,并完成同其他队列管理器的通信。  2)消息  队列管理器使用的基本通信单元被称为消息。它分为消息头和消息主体两部分。消息头存放了消息描述符(MessageD

4、escriptor),这些内容供MQ本身使用,消息主体里面存放应用数据(ApplicationData),由取用消息的应用程序解析使用。  3)队列  用于存放消息,是存储转发机制实现的核心。常用的队列有本地队列,远程队列,传输队列和别名队列等。远程队列指向另一个队列管理器的本地队列。在被放人消息后,会将消息通过传输队列传递到远程的队列管理器中去。  4)通道  队列管理器之间以及同应用程序间的通信都需要使用通道。特别地,分别在两台队列管理器A和B上面建立同名的发送通道和接收通道,即可完成从A到B的通信,反向亦然。5  5)监听器  监听器需要被

5、单独定义并启动,用来监听对应端口的消息。这些消息可能是应用数据,也可能是管理请求。  图1是一般基于MQ的通信环境拓扑示意图。  图1的方案可以满足基本的通信需求,但是由于存在着诸如单点故障等隐患,因而无法保证通信链路的高可用性。  为了解决单点故障,MQ提出了多实例队列管理器的概念。定义多实例队列管理器,并在共享存储上队列管理器数据和日志,然后将这个信息分发给另外的挂载该存储的MQ服务器,就实现了多实例队列管理器。应用strmqm-x[QM_NAME]可以以多实例的主机方式启动队列管理器。后启动的一台将以standby方式运行,当主机宕机或者出

6、现故障,其加在存储上的锁会被释放,备用机接管并启动,成为主机。一套多实例队列管理器最多同时支持两台实例同时运行。其他实例只能在有运行实例宕机后手动启动。  2高可用队列管理器总体设计方案  该方案设计拓扑结构如图3所示,本方案主要从3个层次解决单点故障问题。首先,通过多实例队列管理器来保证应用层的服务可用性。这样,在一台MQ主机宕机后,备用实例自动运行起来,继续为客户端应用程序提供服务。5  其次,在存储层,应用GlusterFS服务器作为共享存储,GlusterFS采用堆栈式结构组织,封装了多台服务器的写磁盘操作为一个原子写入操作,所有写入挂载

7、目录的请求会被转化为网络通信后写入多台服务器中,同时成功即返回成功。单台存储主机宕机后,另外的主机会根据一定的算法踢出不可用的服务器,重新组织结构并继续对外提供数据存储服务。通过这种多机冗余和强同步机制,实现了存储服务的高可用性和极高的数据一致性。  最后,在客户端应用和队列管理器之间,使用lvs和keepal-ived搭建了vip,在队列管理器完成切换后,vip会自动实现漂移和迁转,这个过程对应用几乎透明。总体方案有效地提高了服务在线率和可用度。  3方案可靠性验证实验  设计了三组实验来验证这套方案的可用性。首先部署实验环境如下:  机器A上

8、运行应用通过vip向队列管理器TESTQMA中的远程队列MSG_REMOTE发送消息。MSGIN_REMOTE收到消息后会通过传输队列X

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。