一:AMQP协议标准简单介绍

一:AMQP协议?
--->AMQP 是 Advanced Message Queuing Protocol,即高级消息队列协议。和前面罗列的技术不同,AMQP 是一个标准化的消息中间件协议
--->她的理想是让不同语言,不同系统的应用互相通信,并提供一个简单统一的模型和编程接口。这样,人们就可以采用各种语言和平台来实现自己的应用,当需要和其他系统通信时,只要承认 AMQP 协议即可.

二:AMQP协议的形象化例子?
--->世界各地的人们由于地理和历史的原因,使用着各种不同的语言,相互交流十分不易。AMQP 类似一架自动翻译机,当我用中文对它说了什么之后,假如一个英语世界的人想听的话,可以听到 英文版的 精确的一字不差的翻译。
--->此外这个翻译机还提供其他很多好处,比如中国和美国有 12 小时的时差,假如我现在希望和某个美国人通话,他必须半夜爬起来,或者我必须等到他起床,但通过这台机器,我说完就行了,那个美国人起床后就会听到的。我很放心,这句话绝不会丢掉,也绝不会走样;
--->我其实可以不关心有多少人来听,假如有更多的人都想听,那么他们也可以随时听到。
--->假如我只想让部分人听到,还可以加密认证;
--->假如有些人不想听,有些人想听,那么这台翻译机也能知道谁想听,而不会将我的声音发给不想听到的人。

三:AMQP协议的架构图?

--->在 AMQP 模型中,消息的 producer 将 Message 发送给 Exchange,Exchange 负责交换 / 路由,将消息正确地转发给相应的 Queue。消息的 Consumer 从 Queue 中读取消息。
--->这个过程是异步的,Producer 和 Consumer 没有直接联系甚至可以不知道彼此的存在
--->Exchange 如何进行路由的呢?这便依靠 Routing Key,每个消息都有一个 routing Key,而每个 Queue 都可以通过一个 Binding 将自己所感兴趣的 Routing Key 告诉 Exchange,这样 Exchange 便可以将消息正确地转发给相应的 Queue。下表列出了这几个关键概念的定义。

四:AMQP的几个核心概念

--->生产者(Producer ):将消息写入到交换的一个程序。要做到这一点,该程序创建一个消息,用内容填充消息,给消息一个路由键,并将消息发送到一个交换。

--->消息主题(Routing Key ):一个字符串,可以用以确定其消息内容发送到指定的队列中

--->交换机(Exchange ):接收生产者消息,并根据消息主题,将消息发送到对象的队列。

--->关系绑定(Binding):定义了一个交换和队列之间的关系、指定的信息应该被路由到一个给定的队列

--->消息队列(Queue ):把信息提供给顾客而言的订阅队列。

--->消费者(Consumer):程序读取的消息,从尾巴读取。

时间: 2024-08-27 11:02:44

一:AMQP协议标准简单介绍的相关文章

Swift中协议的简单介绍

熟悉objective-c语言的同学们肯定对协议都不陌生,在Swift中苹果将 protocol 这种语法发扬的更加深入和彻底.Swift语言中的 protocol 不仅能定义方法还能定义属性,配合 extension 扩展的使用还能提供一些方法的默认实现,而且不仅类可以遵循协议,现在的枚举和结构体也能遵循协议了.基于此本文从 1,协议中定义属性和方法 , 2,协议的继承.聚合.关联类型 , 3,协议的扩展 , 4,Swift标准库中常见的协议 , 5,为什么要使用协议 5个方面结合自身的学习经

HTTP协议的简单介绍

前传:HTTP协议的演变过程 HTTP(HyperText Transfer Protocol)协议是基于TCP的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务端的数据传输格式,最初是用来向客户端传输HTML页面的内容.默认端口是80. 1.HTTP 0.9版本 1991年 这个版本就是最初用来向客户端传输HTML页面的,所以只有一个GET命令,然后服务器返回客户端一个HTML页面,不能是其他格式.利用这个版本完全可以构建一个简单的静态网站了. 2.HTTP 1.0版本 1996

MQTT协议的简单介绍和服务器的安装

转:http://blog.csdn.net/djun100/article/details/25752491 最近公司做的项目中有用到消息推送,经过多方面的筛选之后确定了使用MQTT协议,相对于XMPP,MQTT更加轻量级,并且占用用户很少的带宽. MQTT是IBM推出的一种针对移动终端设备的基于TCP/IP的发布/预订协议,可以连接大量的远程传感器和控制设备. MQTT的官网见:http://mqtt.org/.其中http://mqtt.org/software里面提供了官方推荐的各种服务

2015.12.22 类的三大特性 协议的简单介绍

类的三大特性:封装.继承.多态 封装: 1. 对于头文件里面的一些成员变量,可以使用@private @public @protected来限制权限 @public  公有的 类本身可以访问,子类可以继承,外部也可以访问 pxd->name @private 私有的 类本身可以访问,子类无法继承,外部不可以访问 @protected 受保护的 类本身可以访问, 子类可以继承, 外部不可以访问.默认就是protected 2.需要给外部使用的方法或者属性就定义在头文件里面声明.h 不需要暴露给外部

黑马程序员--Objective-C之--block的使用以及协议的简单介绍

块(block)是OC对ANSI C所做的扩展,使用块可以更好地简化OC编程,而且OC的很多API都依赖于块. 一.block (一).block的使用方法 语法格式如下: ^ [块返回值类型] (形参1,形参2,...) { } 必须以^开头,返回值类型通常都被省略,如果没有形参,建议使用void作为占位符. 如果程序需要多次调用已经定义的块,那么应该將块赋值给一个块变量,定义块变量的语法格式如下: block返回值类型 (^block变量名) (形参类型1,形参类型2,...); 定义块变量

ARM过程调用标准---APCS简单介绍

介绍 APCS,ARM 过程调用标准(ARM Procedure Call Standard),提供了紧凑的编写例程的一种机制,定义的例程能够与其它例程交织在一起.最显著的一点是对这些例程来自哪里没有明白的限制.它们能够编译自 C. Pascal.也能够是用汇编语言写成的. APCS 定义了: 对寄存器使用的限制. 使用栈的惯例. 在函数调用之间传递/返回參数. 能够被'回溯'的基于栈的结构的格式,用来提供从失败点到程序入口的函数(和给予的參数)的列表. APCS 不一个单一的给定标准,而是一系

TCP/IP协议简单介绍

简单介绍 TCP/IP(Transmission Control Protocol/Internet Protocol)是传输控制协议和网络协议的简称,它定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准. TCP/IP 不是一个协议,而是一个协议族的统称,里面包括了 IP 协议.ICMP 协议.TCP 协议.以及 http.ftp.pop3.https 协议等.网络中的计算机都采用这套协议族进行互联. TCP/IP协议OSI 七层模型 TCP/IP四层模型 (1)应用层:应用程序通

rabbitMQ的简单实例——amqp协议带数据回写机制

rabbitMQ是一种高性能的消息队列,支持或者说它实现了AMQP协议(advanced message queue protocol高级消息队列协议). 下面简单讲一讲一个小例子.我们首先要部署好rabbitMQ,然后实现一个生产者—消费者,生产者向rabbit中发布一个消息,消费者去rabbit取这个消息,在正确收到这个消息后,消费者会通过返回队列回写通知生产者自己收到了消息. windows下部署rabbit非常简单,先安装erlang运行时,然后安装rabbitMQ安装文件即可,都是ex

http协议之cookie标准RFC6265介绍

cookie是现代web系统开发中非常重要的一个技术,最近对cookie标准RFC6265进行了了解,从中选取了部分内容. 1.cookie的主要作用 因为HTTP协议是无状态的,对于一个浏览器发出的多次请求,WEB服务器无法区分是不是来源于同一个浏览器.所以,需要额外的数据用于维护会话. Cookie 正是这样的一段随HTTP请求一起被传递的额外数据. 2.cookie的主要作用 除了name.value这两个必备属性外,还有下面几个可选属性(这些属性名都是大小写不敏感的,并且只要设置了浏览器