共计 1249 个字符,预计需要花费 4 分钟才能阅读完成。
每日一句
Human beings are designed for many things, but loneliness isn’t one of them.
人类能应答许多问题,但孤单并不在其中。
概述
RabbitMQ 是一个消息中间件:它承受并转发音讯。类比于快递站点,当你要发送一个包裹时,你把你的包裹放到快递站,快递员最终会把你的快递送到收件人那里,依照这种逻辑 RabbitMQ 是一个快递站,一个快递员帮你传递快件。
RabbitMQ 与快递站的次要区别在于,它不解决快件而是接管,存储和转发音讯数据。
几个外围概念
- 生产者与消费者
- 交换机
- 队列
生产者与消费者
生产者:向队列发送音讯的一方。公布音讯的最终目标在于将音讯内容传递给其余零碎 / 模块,使对方依照约定解决该音讯。
消费者:消费者大多时候是一个期待接管音讯的程序。很多时候生产者,消费者和消息中间件并不在同一机器上。同一个应用程序既能够是生产者又是能够是消费者。接管音讯的一方。当消费者生产一条音讯时,只是生产音讯的音讯体。在音讯路由的过程中,会抛弃标签,存入到队列中的只有音讯体。
交换机
交换机是 RabbitMQ 十分重要的一个部件,一方面它接管来自生产者的音讯,另一方面它将音讯推送到队列中。
交换机必须确切晓得如何解决它接管到的音讯,由交换机类型决定是将这些音讯推送到特定队列还是推送到多个队列,亦或者是把音讯抛弃.
队列
队列是用于存储音讯的,生产者将音讯送到队列,消费者从队列中获取和生产音讯。多个消费者能够同时订阅同一个队列,队列里的音讯调配给不同的消费者。
队列仅受主机的内存和磁盘限度的束缚,实质上是一个大的音讯缓冲区。
名词介绍
- Broker:接管和散发音讯的利用,RabbitMQ Server 就是 Message Broker
- Virtual host:虚拟地址,用于进行逻辑隔离,是最上层的音讯路由。一个 Virtual Host 外面能够有若干个 Exchange 和 Queue,同一个 Virtual Host 外面不能有雷同名称的 Exchange 或 Queue
- Connection:连贯,应用程序与 Broker 的网络连接
- Channel:网络信道,简直所有的操作都在 Channel 中进行,Channel 是进行音讯读写的通道。客户端可建设多个 Channel,每个 Channel 代表一个会话工作;
- Exchange:交换机,负责接管音讯,依据路由键将音讯转发到绑定的队列;
- Queue:也称 Message Queue,音讯队列,保留音讯并将它们转发给消费者。
- Binding:exchange 和 queue 之间的虚构连贯,binding 中能够蕴含 routing key,Binding 信息被保留到 exchange 中的查问表中,用于 message 的散发根据
美文佳句
人们常说:“朝思暮想,必有回响。”只有信念始终在,就总有被回应的一天。比他人多一点致力,你就会多一点问题;比他人多一点执着,你就会多一点机会;比他人多一点保持,你就会多一点播种。
你好,我是 yltrcc,日常分享技术点滴,欢送关注我:ylcoder