当前位置:   article > 正文

【面经】rabbitMQ的了解,交换机和队列的联系_rabbitmq中交换机和队列的关系

rabbitmq中交换机和队列的关系

【rabbitmq是啥?为什么要用?】
rabbitmq采用AMQP高级消息队列协议的技术,最大的特点就是消费并不需要确保提供方存在,实现了服务之间的高度解耦。

在分布式系统下具备异步,削峰,负载均衡等一系列高级功能
拥有持久化的机制,进程消息、队列中的信息也可以保存
实现消费者和生产者之间的解耦
在高并发场景下,利用消息队列可以使得同步访问变为串行访问达到一定量的限流
可以使用消息队列达到异步下单的效果

【交换机和队列的联系】
一般情况下,为了让生产者和消费者充分解耦,理想情况下,生产者仅仅直到关于交换机达的信息,消费者仅仅直到队列的信息,绑定关系表明交换机和队列的关系。

当然也可以生产者/消费者/CLI创建一切

路由键:消息绑定到交换机上的规则,消息根据规则由交换机将消息投递到相对应的队列。如果路由消息不匹配任何绑定,消息将进入黑洞。

direct交换器(header类似,性能差):如果路由键匹配,消息就会被投递到对应的队列。服务器必须实现direct类型交换器,包含一个空白字符串命名的默认交换器。当声明一个队列时,它会自动绑定到默认交换器,并以队列名作为路由键。
在这里插入图片描述

fanout交换器:当发送一套消息到fanout交换器时,它会把消息投递到所有附加在此交换器上的队列。

在这里插入图片描述

topic交换器:这类交换器根据topic可以使得不同源头的消息到达同一个队列。

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/598151
推荐阅读
相关标签
  

闽ICP备14008679号