RabbitMQ架构及通讯方式

RabbitMQ架构及通讯方式

RabbitMQ架构

RabbitMQ的架构可以查看官方地址:https://rabbitmq.com/tutorials/amqp-concepts.html

可以看出RabbitMQ中主要分为三个角色:

  • Publisher:消息的发布者,将消息发布到RabbitMQ中的Exchange

  • RabbitMQ服务:Exchange接收Publisher的消息,并且根据Routes策略将消息转发到Queue中

  • Consumer:消息的消费者,监听Queue中的消息并进行消费

在基于架构图查看图形化界面客户端:

RabbitMQ的通讯方式

RabbitMQ提供了很多中通讯方式,官方查看地址:https://rabbitmq.com/getstarted.html

  • Routing:手动创建Exchange(DIRECT)

  • Topics:手动创建Exchange(TOPIC)

  • RPC:RPC方式

  1. Hello World:单一生产者-单一消费者模式

在这种模式下,一个生产者向一个队列发送消息,一个消费者从该队列接收消息。这种模式适用于简单的点对点通讯场景,其中只有一个消费者需要处理来自一个生产者的消息。

  1. Work queues:单一生产者-多个消费者模式

在这种模式下,一个生产者向一个队列发送消息,多个消费者从该队列接收消息。RabbitMQ会将消息以循环的方式发送给多个消费者,以平均负载。这种模式适用于需要多个消费者来处理消息的场景。

  1. Publish/Subscribe:发布/订阅模式

在这种模式下,一个生产者向多个队列发送消息,多个消费者从这些队列接收消息。这种模式适用于需要向多个消费者广播消息的场景。

  1. Routing:路由模式

在这种模式下,一个生产者向一个交换机发送消息,交换机将消息转发给一个或多个队列。消费者从这些队列接收消息。这种模式适用于需要根据消息的路由键将消息路由到指定的队列的场景。

  1. Topics:主题模式

主题模式是路由模式的一种扩展,它可以将消息路由到多个队列,同时可以根据消息的主题进行匹配。主题模式适用于需要根据消息的主题进行灵活路由的场景。

  1. RPC:RPC模式

在这种模式下,一个客户端向一个队列发送请求消息,一个服务端从该队列接收请求消息并发送响应消息。这种模式适用于需要客户端和服务端之间进行请求-响应通讯的场景。

  1. Publisher Confirms:工作队列模式

在这种模式下,一个生产者向一个队列发送任务消息,多个工作者从该队列接收任务消息并处理它们。工作者可以将任务分配给多个线程或进程以实现并发处理。这种模式适用于需要分发任务并进行并发处理的场景。

总之,RabbitMQ的七种通讯方式覆盖了各种不同的通讯场景,可以为不同的应用提供高效的消息中间件支持。

在后面的文章中我们会逐个对每种通讯方式进行代码示例展示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

像鸟一样菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值