学习的效率有点低,慢慢来!
了解一下rabbmq中的一些基础概念吧
Publisher: 产生消息
Exchange: 交换机 负责按照一定的路由规则分发消息到队列中
Queue: 队列 消息的载体 负责存储消息 每个消息都会被投入到一个或多个队列
Consumer : 数据的接收方 负责消费消息
Binding: 绑定 把消息队列和交换机按照一定的路由规则绑定起来
Routing Key:路由关键字 交换机按照路由关键字来匹配你的队列
Broker :AMQP的服务端称为Broker。其实Broker就是接收和分发消息的应用,也就是说RabbitMQ Server就是Message Broker
Virtual Host: 虚拟主机,一批交换器(Exchange),消息队列(Queue)和相关对象。虚拟主机是共享相同身份认证和加密环境的独立服务器域。同时一个Broker里可以开设多个vhost,用作不同用户的权限分离。
Channel,信道,多路复用连接中的一条独立的双向数据流通道,为会话提供物理传输介质。Channel是在connection内部建立的逻辑连接,如果应用程序支持多线程,通常每个thread创建单独的channel进行通讯,AMQP method包含了channel id帮助客户端和message broker识别channel,所以channel之间是完全隔离的。Channel作为轻量级的Connection极大减少了操作系统建立TCP connection的开销。在客户端的每个连接里,可建立多个Channel,每个Channel代表一个会话任务。
Connection : 连接,一个网络连接,比如TCP/IP套接字连接。Channel是建立在Connection之上的,一个Connection可以建立多个Channel。
Message,消息体,是AMQP所操纵的基本单位,它由Producer产生,经过Broker被Consumer所消费。它的基本结构有两部分: Header和Body。Header是由Producer添加上的各种属性的集合,这些属性有控制Message是否可被缓存,接收的Queue是哪个,优先级是多少等。Body是真正需要传送的数据,它是对Broker不可见的二进制数据流,在传输过程中不应该受到影响
---------------------
原文:https://blog.csdn.net/anumbrella/article/details/79920854