运维小路
一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!
351篇原创内容
公众号
中间件,我给它的定义就是为了实现某系业务功能依赖的软件,包括如下部分:
Web服务器
代理服务器
ZooKeeper
Kafka
RabbitMQ(本章节)
前面的内容,我们介绍了虚拟主机(vhost),但是它只是一个逻辑概念,它必须配合对应的交换机(Exchange),队列(Queue),绑定(Binding)才能具体使用,今天我们再来讲解队列。
队列(Queues)。它是消息传递模型中的目的地,消息最终被存储在这里,等待消费者应用程序来获取和处理。
想象一个繁忙的快递分拣中心:
队列的核心作用是解决生产与消费速度不匹配的问题。生产者无需等待消费者处理,只需将消息“扔”进队列即可返回,
msg_store
)即使服务重启,消息不丢失(需配置持久化队列+持久化消息)。二、队列管理
1.队列和交换机一样也会属于某个交换机。
2.队列的类型(Classic是最常用的队列),不同类型的队列具有不同的属性。
3.队列的名字。
4.是否持久化(Durability代表持久化,重启以后还在)。
5.是否自动删除,当最后一个消费者断开连接时,队列将被自动删除。
其中第四和第五两个组合到一起可以使用,加上我们后面讲的内存节点,就可以适合哪些临时对性能要求比较高的应用。
当然下面还有一堆参数可以对这个队列进行额外附加功能,部分参数将在后面的部分章节进行讲解。
我们已经完成了虚拟主机,交换机,队列的创建,交换机是属于某个虚拟主机,队列也属于某个虚拟主机,但是他们之前还没有办法产生交集,还是平行的两条线,类似下图这样。也是我们下个小节要讲解的内容。