RabbitMQ的架构有哪些
1. Message消息
消息是不具名的,它由消息头和消息体组成。消息体是不透明的,而消息头则由一系列的可选属性组成,这些属性包括
routing-key(路由键)、priority(相对于其他消息的优先权)、delivery-mode(指出该消息可能需要持久性存储)等。
2. Publisher
消息的生产者,也是一个向交换器发布消息的客户端应用程序。
3. Exchange**(将消息路由给队列 )** 交换器
用来接收生产者发送的消息并将这些消息路由给服务器中的队列。
4. Binding**(消息队列和交换器之间的关联)** 绑定
用于消息队列和交换器之间的关联。一个绑定就是基于路由键将交换器和消息队列连接起来的路由规则,所以可以将交换器理解成一个由绑定构成的路由表。
5. Queue消息队列
用来保存消息直到发送给消费者。它是消息的容器,也是消息的终点。一个消息可投入一个或多个队列。消息一直在队列里面,等待消费者连接到这个队列将其取走。
6. Connection网络连接
比如一个TCP连接。
7. Channel信道
多路复用连接中的一条独立的双向数据流通道。信道是建立在真实的 TCP连接内地虚拟连接,AMQP命令都是通过信道发出去的,不管是发布消息、订阅队列还是接收消息,这些动作都是通过信道完成。因为对于操作系统来说建立和销毁 TCP都是非常昂贵的开销,所以引入了信道的概念,以复用一条TCP连接。
8. Consumer 消息的消费者
表示一个从消息队列中取得消息的客户端应用程序。
9. Virtual Host 虚拟主机
表示一批交换器、消息队列和相关对象。虚拟主机是共享相同的身份认证和加密环境的独立服务器域。
10. Broker
表示消息队列服务器实体。
猜你喜欢LIKE
相关推荐HOT
更多>>运行时异常和一般异常(受检异常)区别是什么?
RuntimeException异常和受检异常之间的区别:是否强制要求调用者必须处理此异常,如果强制要求调用者必须进行处理,那么就使用受检异常,否则就...详情>>
2022-11-17 11:35:00java编程入门先学什么
对于想学java编程但零基础的同学,初期刚入门肯定比较迷茫,但这再正常不过了。java编程是有一定门槛的,不可能伸手就来,初期学习一定要先打好...详情>>
2022-10-18 14:12:00介绍一下网关的作用
网关相当于一个网络服务架构的入口,所有网络请求必须通过网关转发到具体的服务。统一管理微服务请求,权限控制、负载均衡、路由转发、监控、安...详情>>
2022-10-11 16:25:19Jedis和redisson有哪些区别?
Jedis和Redisson都是Java中对Redis操作的封装。Redisson不仅封装了redis ,还封装了对更多数据结构的支持,以及锁等功能,相比于Jedis更加大。...详情>>
2022-10-10 13:58:00数据库的3大范式是什么?
每个属性都与主键有直接关系,而不是间接关系;如果有特殊情结,当然要特殊对待,数据库设计最重要的是看需求和性能,需求>性能>表结构。所以不...详情>>
2022-10-10 13:58:00Java培训问答更多>>
新Java行业疑惑解答:Java的内存管理是如何工作的?
新java script是什么?为什么要学java script
新java和大数据哪个好?未来哪个职业发展更好
新java培训班多久能学会?培训周期大概多久
新java script和java的区别有哪些?如何区分
新java script的数据类型主要有哪些?怎样学的更快
新c语言与java区别在哪里?去培训机构学哪个比较好
Java面试题库 更多>>
华为外包java面试题-Java实现单链表的逆序
Java程序员面试题
Java面试题及答案
什么是线程的上下文切换?
如何撤销已经推送(push)到远端仓库的提交(commit)信息?
你了解哪些加密算法?
- 北京校区
- 大连校区
- 广州校区
- 成都校区
- 杭州校区
- 长沙校区
- 合肥校区
- 南京校区
- 上海校区
- 深圳校区
- 武汉校区
- 郑州校区
- 西安校区
- 青岛校区
- 重庆校区
- 太原校区
- 沈阳校区
- 南昌校区
- 哈尔滨校区