websphere mq 与数据库的对比

本文对比了WMQ(Websphere Message Queue)与数据库的工作原理和应用场景,详细介绍了WMQ的基本概念,包括消息、队列、队列管理器和通道等,并通过流程图的形式解析了WMQ的工作流程。
摘要由CSDN通过智能技术生成
  • mq 主要对象基本概念简介

           1:消息:就是一段包含业务信息的数据;如一段字符串。

            2:队列:就是一个临时保存消息的缓存。通常情况下按先进先出的规则保存。

            3:队列管理器:管理它所拥有的所有队列,管理队列的生命周期。它是队列的生存环境。类似java中的context(上下文);

           4:通道:从java角度,它本质上就是一个socket。通过ip,端口,用于与其它机器建立连接。

  • wmq 概念与数据库比较

            1:webspheremq 程序:相当于数据库程序

            2:队列管理器:相当于数据库中的一个具体数据库实例;如:数据库中的学生信息数据库。

            3:队列:相当于数据库的表;

            4:消息:相当于数据库的一条记录;

            5:通道:这是数据库中不曾有的功能。

  • wmq 原理简图

           应用系统MM调用另一网络中的应用系统GG的一个功能,并传递一个参数,然后把处理结果返回给应用系统MM。

         websphere <wbr>mq <wbr>与数据库的对比

         

           (1):应用系统通过JMS/MQI向队列管理器中的请求队列发送消息;

           (2):请求队列连接发送通道,把消息发送给发送通道。

           (3):本地(A)发送通道与远程机子(B)上的接收通道在网络正常的情况下建立连接,关把消息发送到远程机器(B)上的接收通道。

           (4):远程机器(B)上的接收通道与其内部(B)的请求队列建立连接。并传送请求消息。

  此时:本地队列与远程机子上的请求队列间接建立连接。本地请求队列中的消息发向远程机子上的请求队列

           (5):远程机子上的应用系统GG在合适的时间(例如不忙时)取走其机器上请求队列中的消息进行业务处理。

           (6):应用系统GG把处理的结果放入其机器上的结果队列。

           (7):结果队列把结果消息发送给发送通道。

           (8):B上的发送通道连接A上的接收通道,并把结果消息发送到A上的接收通道。

           (9):A上的接收通道把结果传送到结果队列缓存中;

            (10):等待应用系统MM在合适的时间取走结果,进行后续处理。

 

          注意事项:队列中并没有请求队列和接收队列这样的队列类型,此处只是一个直观的名称,便于理解。

  • 数据库与mq比较简图

          应用系统MM调用另一网络中的应用系统GG的一个功能,并传递一个参数,然后把处理结果返回给应用系统MM。

        

 websphere <wbr>mq <wbr>与数据库的对比

     

      (1):A中的应用系统MM通过JDBC向数据库db_MM的请求表中插入一条记录;

      (2):自己用java实现的socket通过监听程序取走请求表中的数据;

      (3):连接B中的socket ,并把数据传输到B中;

      (4):B中的socket把数据写入到B中的请求表;

      (5):B中的系统GG从请求表中取走数据,并处理;

      (6):把处理结果插入到B中的数据db_GG的结果表中;

      (7):B中的socket通过监听程序取走B中结果表的数据;

      (8):B中的socket与A中的socket连接,并传输数据;

      (9):A中的socket把接收到的数据插入到A中的数据库db_MM的结果表中;

      (10):应用系统MM从A中的结果表中取走结果数据。

    一次请求结束。

 

  数据库与wmq对比:

    (1):内网系统与数据库/mq的连接

   如果使用java接口连接,两者非常相似;

             数据库使用jdbc连接数据库。Mq使用jms连接mq;

    (2):存储:

   数据库通过表来保存数据。

     Wmq通过队列来缓存数据。

   (3):外网连接:

           数据库与数据库之间并不能进行通讯;只能通过自己编写连接代码来实现可靠安全的传输机制;

           Wmq之间可以进行通讯,而且能保证数据在不同网络之间的安全可靠的传输。

 

   总结:

           (1):从使用角度而言:wmq更类似数据库;

           (2):从功能来看:wmq更接近socket.因为它的出现就是为了解决网络传输问题(安全,可靠,异构,同步)。此时,数据库只类似于wmq中的缓存即队列;

    

     一句话:wmq就是一个数据库与极致化的sokcet的杂合体。

            或者:是一个实现了数据库之间安全可靠传输的数据库。

            或者:是一个具有数据库功能的极致化的socket.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值