Rabbitmq的基本概念
RabbitMq的运行机制:AMQP中的消息路由过程增加了Exchange 和 Binding 的角色,生产者把消息发布到Exchange上,消息最终到达队列并被消费者接收,而Binding决定交换器的消息应该发送到哪个队列
Exchange类型
Exchange分发消息时根据类型不同分发策略也是有区别的,目前主要有四种类型:direct(直接),fanout(扇出),topic(主题),headers
Direct Exchange:直接交换机,将消息直接交给一个指定的队列,路由键按照绑定关系精确匹配。它是完全匹配、单播模式
Fanout Exchange:每个发到fanout类型交换器的消息都会被分到所有绑定的队列上,它不会处理路由键,只会简单的将队列绑定到交换器上,每个发送到交换器的消息都会被转发到该交换器绑定的队列,广播模式
Topic Exchange:通过模式匹配分配消息的路由键属性,将路由键和某个模式进行匹配,此时队列需要绑定到一个模式上,它将路由键和绑定键的字符串分割成单词,这些单词之间使用点隔开,并且支持通配符”#”和”“,# 匹配0个或多个单词, 匹配一个单词
Headers Exchange:匹配的是AMQP的header而不是路由键,它与Direct Exchange完全一直,但是性能很差,现在几乎不用
接下来就开始简单的测试RabbitMq:
- 创建一个交换机
- 2. 创建一个队列
3. 将交换机和队列进行绑定,点击自己的交换器进入到交换器详情界面
4、绑定完成后就可以发送消息了,在交换器详情页,选择发送消息,注意路由键根据交换器的模式进行匹配
5、绑定完成后就可以发送消息了,在交换器详情页,选择发送消息,注意路由键根据交换器的模式进行匹配