zoukankan      html  css  js  c++  java
  • 学习MQ(二)基本概念


    学习MQ(二)基本概念
    这次简单罗列一下MQ的基本概念,还有我对它们的理解
    1、queue manager 队列管理器,这是MQ系统中最上层的一个概念。每一个queue manager都有一个侦听器,如果它要接受消息的话,每个queue manager中管理多个队列queue和消息通道message channel。
    2、消息 message,消息是应用程序交给MQ来传输的数据。
    3、队列 queue,队列是用来存放消息的,把消息存放到队列中,直到应用程序或其他MQ对象来处理或取走。
    假如,系统A和系统B之间需要数据传输,那么应用程序在系统A端把消息放到MQ的队列中,在系统B端的应用程序从队列中取消息,至于系统A到系统B的数据传输,那是MQ要做的事情。
    我用到的队列有三种,本地队列,远程队列,传输队列。其中传输队列也是本地队列的一种,也叫本地传输队列,另外一个叫普通本地队列。
    普通本地队列是消息的暂存区,应用程序可以通过API直接把消息放入本地队列,或者取走消息,普通本地队列是占用磁盘空间的,应该是对应磁盘上测某个文件。
    本地传输队列是一个存储转发队列,资料上是这么说的:比如,我们将某个消息交给MQ系统发送到远程主机,而此时网络发生故障,MQ将把消息放在传输队列中暂存,当网络恢复时,再发往远端目的地。
    本地传输队列也是要占用磁盘存储空间的。
    远程队列是一个定义,它是目的MQ系统中的本地队列在本系统中的一个映像,就像定义了一个指针,指向目的系统的本地队列一样。它不占用磁盘空间。

    还有模板队列和动态队列的概念,很好理解,模板队列就是一个模板,定义新的队列时可以照着这个模板创建。动态队列没用过,听说很灵活,是MQ的特色。
    4、消息通道 message channel 消息通道是一个逻辑概念,它是队列管理器之间传输消息的管道,它建立在屋里的网络连接之上。传说,通道是MQ的精华,由于我没用过其他的消息中间件产品,也没有深入使用MQ,所以没有看出这精华二字体现在何处。
    消息通道是单向的,由发送方通道和接收方通道组成,而且这两个必须是同名的。如系统A要发消息到系统B,那么需要在A中建立发送方通道,在B建立接收方通道,必须同名。

    另外还有两种通道,MQI通道和Cluster通道,我没用,就没深究,要是以后用到,就深挖一下。
    5、侦听器 listener 这是在接受消息方必不可少的。它侦听一个端口(默认为1414,可以更改),等待发送方的连接。

  • 相关阅读:
    Educational Codeforces Round 83 --- F. AND Segments
    Educational Codeforces Round 83 --- G. Autocompletion
    SEERC 2019 A.Max or Min
    2019-2020 ICPC Southwestern European Regional Programming Contest(Gym 102501)
    Educational Codeforces Round 78 --- F. Cards
    今天我学习了一门全新的语言
    codeforces 1323D 题解(数学)
    Educational Codeforces Round 80 (Div. 2) 题解 1288A 1288B 1288C 1288D 1288E
    Educational Codeforces Round 81 (Div. 2) 题解 1295A 1295B 1295C 1295D 1295E 1295F
    Codeforces Round #617 (Div. 3) 题解 1296C 1296D 1296E 1296F
  • 原文地址:https://www.cnblogs.com/baiduligang/p/4247043.html
Copyright © 2011-2022 走看看