IT袋

当前位置:主页 > 经验教程 > 建站编程 >

RabbitMQ常用的5种工作模式

RabbitMQ常用的5种工作模式

时间:2023-11-02 20:35:21 来源:IT袋 作者:马勇
导读:RabbitMQ常用的5种工作模式,正文核心介绍:RabbitMQ常用的5种工作模式方面的讲解,一起来看看吧! RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。 Rabbit

RabbitMQ常用的5种工作模式

正文核心介绍:RabbitMQ常用的5种工作模式方面的讲解,一起来看看吧!

RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。

RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。

所有主要的编程语言均有与代理接口通讯的客户端库。

RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。

RabbitMQ服务器是用Erlang语言编写的,而群集和故障转移是构建在开放电信平台框架上的。

所有主要的编程语言均有与代理接口通讯的客户端库。

RabbitMQ是一套开源(MPL)的消息队列服务软件,是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成。

RabbitMQ常用的5种工作模式

simple模式

消息产生消息,将消息放入队列

消息的消费者(consumer) 监听 消息队列,如果队列中有消息,就消费掉,消息被拿走后,自动从队列中删除(隐患 消息可能没有被消费者正确处理,已经从队列中消失了,造成消息的丢失,这里可以设置成手动的ack,但如果设置成手动ack,处理完后要及时发送ack消息给队列,否则会造成内存溢出)。

work工作模式

消息产生者将消息放入队列消费者可以有多个,消费者1,消费者2同时监听同一个队列,消息被消费。

C1 C2共同争抢当前的消息队列内容,谁先拿到谁负责消费消息(隐患:高并发情况下,默认会产生某一个消息被多个消费者共同使用,可以设置一个开关(syncronize) 保证一条消息只能被一个消费者使用)。

publish/subscribe发布订阅

每个消费者监听自己的队列;

生产者将消息发给broker,由交换机将消息转发到绑定此交换机的每个队列,每个绑定交换机的队列都将接收到消息。

routing路由模式

消息生产者将消息发送给交换机按照路由判断,路由是字符串(info) 当前产生的消息携带路由字符(对象的方法),交换机根据路由的key,只能匹配上路由key对应的消息队列,对应的消费者才能消费消息;

根据业务功能定义路由字符串

从系统的代码逻辑中获取对应的功能字符串,将消息任务扔到对应的队列中。

业务场景:error 通知;EXCEPTION;错误通知的功能;传统意义的错误通知;客户通知;利用key路由,可以将程序中的错误封装成消息传入到消息队列中,开发者可以自定义消费者,实时接收错误;

topic 主题模式

  • , # 代表通配符
  • 代表多个单词, # 代表一个单词

消息产生者产生消息,把消息交给交换机

交换机根据key的规则模糊匹配到对应的队列,由队列的监听消费者接收消息消费

以上是IT袋网网关于RabbitMQ常用的5种工作模式的具体介绍,供网友们借鉴参考。

相关阅读

  • ping发出的是什么报文是什么协议 ICMP协议报文介绍

    ping发出的是什么报文是什么协议 ICMP协议报文介绍

    ping发出的是什么报文?ping是什么协议? 对于大部分的人来说,很多其实是不知道的,下面IT袋小编就给大家详细的解答下这个问题。 应用程序PING 发出的是ICMP 应答报文。 ping命令使用的是I

  • 数据库系统有哪些特点 简述数据库系统的定义

    数据库系统有哪些特点 简述数据库系统的定义

    IT电脑小知识篇,关于数据库系统有哪些特点和简述数据库系统的定义IT技巧方面的经验,具体内容如下: 数据库分类: 早期数据库模型有三种,分别为层次式数据库、网络式数据库和关系型

  • mysql关系型数据库的优点和缺点 关于mysql在工作中的意义

    mysql关系型数据库的优点和缺点 关于mysql在工作中的意义

    一篇关于mysql关系型数据库的优点和缺点和关于mysql在工作中的意义的话题,很不错的方法小知识,建议收藏哦! 上节课我们给大家介绍了数据库的基本概念,具体请回顾 打开数据库的大门—

  • 如何安装和访问Kubernetes仪表板

    如何安装和访问Kubernetes仪表板

    今天介绍如何安装和访问Kubernetes仪表板的相关话题,下面IT袋网为您详细介绍 Kubernetes 是一个开源容器编排平台,已成为大规模管理容器化应用的首选解决方案。 虽然 Kubernetes 提供了强大的命