学习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,可以更改),等待发送方的连接。
学习MQ(二)基本概念的更多相关文章
- apache Storm学习之二-基本概念介绍
2.1 Storm基本概念 在运行一个Storm任务之前,需要了解一些概念: Topologies Streams Spouts Bolts Stream groupings Reliability ...
- 从零开始学习jQuery (二) 万能的选择器
本系列文章导航 从零开始学习jQuery (二) 万能的选择器 一.摘要 本章讲解jQuery最重要的选择器部分的知识. 有了jQuery的选择器我们几乎可以获取页面上任意的一个或一组对象, 可以明显 ...
- [Firefly引擎][学习笔记二][已完结]卡牌游戏开发模型的设计
源地址:http://bbs.9miao.com/thread-44603-1-1.html 在此补充一下Socket的验证机制:socket登陆验证.会采用session会话超时的机制做心跳接口验证 ...
- java之jvm学习笔记二(类装载器的体系结构)
java的class只在需要的时候才内转载入内存,并由java虚拟机的执行引擎来执行,而执行引擎从总的来说主要的执行方式分为四种, 第一种,一次性解释代码,也就是当字节码转载到内存后,每次需要都会重新 ...
- Java IO学习笔记二
Java IO学习笔记二 流的概念 在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成. 程序中的输入输 ...
- zuul进阶学习(二)
1. zuul进阶学习(二) 1.1. zuul对接apollo 1.1.1. Netflix Archaius 1.1.2. 定期拉 1.2. zuul生产管理实践 1.2.1. zuul网关参考部 ...
- scrapy爬虫学习系列二:scrapy简单爬虫样例学习
系列文章列表: scrapy爬虫学习系列一:scrapy爬虫环境的准备: http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_python_00 ...
- Django学习笔记二
Django学习笔记二 模型类,字段,选项,查询,关联,聚合函数,管理器, 一 字段属性和选项 1.1 模型类属性命名限制 1)不能是python的保留关键字. 2)不允许使用连续的下划线,这是由dj ...
- (转)Maven学习总结(二)——Maven项目构建过程练习
孤傲苍狼 只为成功找方法,不为失败找借口! Maven学习总结(二)——Maven项目构建过程练习 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项 ...
随机推荐
- FND Debug Log(FND_LOG_MESSAGES)
之前每个模块记录日志的方式都不同,都会把日志写到不同的文件中,对于User来说很麻烦,需要记住很多的配置,现在越来越多的模块使用FND Logging来存储日志,比如WIP,RCV,OAF...FND ...
- UNIX环境高级编程——IPC总结
IPC主要包括:管道,消息队列,信号量,共享内存, 套接字(SOCKET). 一.IPC对象的持久性 每种IPC机制都会借助一种数据结构,这种数据结构的实例称为该IPC机制的对象(相应的,用于同步互斥 ...
- C语言--字符串和数字的相互转换
1.数字转换为字符串 sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出. sprintf 是个变参函数,定义如下: int sp ...
- 用CSS指定外部链接的样式
大部分的信息类网站,比如维基百科,都会对外部链接(<a>标签)指定特定的样式.作为用户,一眼就知道该链接是指向另一个站点的资源是很好的体验.许多网站在服务器端做外部链接检查,添加一个`re ...
- 【翻译】Ext JS 5的平板支持
原文:Ext JS 5 Tablet Support Ext JS已被公认为桌面Web应用程序的领先框架.自从平板开始在全球挑战PC的销售,无论是个人还是企业,电脑横向的应用已经产生急剧的变化.Sen ...
- SpartanBrowser产品和安全特性简介
v:* { } o:* { } w:* { } .shape { }p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-botto ...
- 基于RTMP的实时流媒体的QoE分析
Holly French等人在论文<Real Time Video QoE Analysis of RTMP Streams>中,研究了基于RTMP的实时视频的QoE.在此记录一下. 他们 ...
- STL - queue(队列)
Queue简介 queue是队列容器,是一种"先进先出"的容器. queue是简单地装饰deque容器而成为另外的一种容器. #include <queue> queu ...
- 客户端状态的存储空间——Session
http协议在设计之初被设计成无状态特性,客户端的每次请求在服务端看来都是独立且无任何相关性,同一个客户端第一次请求不会与第二次请求有任何关联,即使相隔时间很短.无状态的特性让请求变得很快速且服务器也 ...
- LeetCode之“链表”:Reorder List
题目链接 题目要求: Given a singly linked list L: L0→L1→…→Ln-1→Ln, reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→… You ...