RabbitMQ有5种工作模式

RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。

RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而群集和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。

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

simple模式

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

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

work工作模式

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

publish/subscribe发布订阅

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

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

routing路由模式

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

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

从系统的代码逻辑中获取对应的功能字符串,将消息任务扔到对应的队列中。业务场景:error 通知;EXCEPTION;错误通知的功能;传统意义的错误通知;客户通知;利用key路由,可以将程序中的错误封装成消息传入到消息队列中,开发者可以自定义消费者,实时接收错误;

topic 主题模式

  • , # 代表通配符

  • 代表多个单词, # 代表一个单词

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/298461.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ajax 偶尔302,关于Ajax 中response出现302的一点见解

今天在项目中,遇到了一个问题就是ajax出现的错误,status为302。因为没有见过这个状态值,所以只能一点一点去查。经过查找我发现,302状态的解释是:(来自百度百科)在最新版中,名称已经改成found。 总而言之他…

WCF发布到IIS7问题的解决方案

今天用VS2010开发了一个WCF服务进行一个简单测试,没想到这点小事竟然折腾了我2个小时。 为避免其他兄弟遇到相同的问题少走弯路做一下总结。 操作系统:Windows7 旗舰版 开发环境:VS2010 .NET Framework4.0 ASP.NET4.0 第一步:检查Windows7中IIS是否安装了…

FileInfo.LastWriteTime和FileInfo.LastAccessTime的值不是准确的

FileInfo.LastWriteTime和FileInfo.LastAccessTime的值不是准确的时间,这两个时间不是精确地值,而且在不同的操作系统下,不同的文件系统(ntfs,fat)下的值是不同的,更新时机和存储位置也不相同。所以在程序中…

flex布局_Flex布局,真香

作者: EcbJS https://blog.csdn.net/EcbJS/article/details/106466757?utm_sourceapp1.基本原理Flex 英文意思为,弯曲,屈伸,可以伸缩的布局,天生就是为了适配不同的分辨率。而且用法也很简单,首先只要告诉浏览器&…

字体编辑器_FontLab 7 ——字体编辑器

FontLab VI是一款专为Mac用户设计的字体编辑器。无论您是专家还是初学者,使用FontLab突破性的绘图工具和响应式轮廓操作都能够轻松设计,编辑和转换字体,让您的设计过程将更快,更高效!功能介绍一、画画 下一代绘图神器&…

分享一个理工男必学的撩妹姿势

随着气温越来越高,空气中恋爱的酸臭味也越来越浓。。。是的,这意味着一个由谐音演变而来的“传统佳节”,也终于迎来了它的高光时刻。520可以说是每个直男都要经历的考验,说是“我爱你”的谐音,过得好是520,…

C 语言中的内存分析

C 语言中的内存分析一、进制我们需要了解的4中进制&#xff1a;二进制、八进制、十进制、十六进制#include <stdio.h>int main(){//默认情况下是十进制intnumber 12;//二进制intnumber20b1100;//八进制intnumber3 014;//十六进制intnumber 0xc;return0;}Printf以不同进…

Docker小白到实战之Dockerfile解析及实战演示,果然顺手

前言使用第三方镜像肯定不是学习Docker的最终目的&#xff0c;最想要的还是自己构建镜像&#xff1b;将自己的程序、文件、环境等构建成自己想要的应用镜像&#xff0c;方便后续部署、启动和维护&#xff1b;而Dockerfile就是专门做这个事的&#xff0c;通过类似简单编码的形式…

easyui select ajax,easyui的combobox根据后台数据实现自动输入提示功能

easyui的combobox根据后台数据实现自动输入提示功能发布时间&#xff1a;2020-06-11 10:09:41来源&#xff1a;51CTO阅读&#xff1a;1981作者&#xff1a;crackernetadauhuehkek最近做项目的时候遇到一个需求&#xff0c;需要在录入数据的时候检索已经存在的数据记录&#xff…

wordpress插件feed count中文版

Feed Count 功能&#xff1a; CURL support&#xff08;绝大多数主机都支持&#xff09;修正了不支持空白 URL 的 bug可自定义替换 before 标签和 after 标签完全支持 CSS 样式可自定义订阅数更新时间间隔可自定义 Feed 链接在 WordPress 管理面板有集成的接口安装 Feed Count…

转换实体类_利用Java反射机制进行Map和JavaBean间转换

Java中利用反射进行Map和JavaBean间转换在日常工作中&#xff0c;有时候我们可能会遇到以下这样的情况发生。例如&#xff1a;(1)后端接受一个参数Map param(可能是前端form维护的一个对象...)。(2)将一个对象个别属性(key)和对应值(value)存放到Map对象中。(3).......针对上面…

python模拟键盘输入_这件神器,每个 Python入门学习者都值得一试

灰常实用的一篇文章&#xff0c;看完你会来点赞滴。 不论你是刚开始学 Python&#xff0c;还是正在啃数据分析的骨头&#xff0c;对你来说&#xff0c;不断在各种命令行窗口和编辑器里切来切去&#xff0c;或者不断打开各种窗口查看 matplotlib 的输出之类的繁琐操作&#xff0…

早上起床时需要的重力

1 我这一波操作怎么样&#xff1f;2 要趁垃圾桶不注意3 主人在厕所&#xff0c;我要守护她4 好歹给你留了一张&#xff0c;知足吧5 怎么吃这么小的榴莲6 不存在的7 早上起床时需要的重力8 求解你点的每个赞&#xff0c;我都认真当成了喜欢

Linux SSH Publickey登录

ssh 登陆验证分两种: password 和publickey password方式:通过用户名和密码的方式验证身份&#xff01; publickey方式:publickey方式使用publickey privatekey的方式验证,你需要生成一对publickey privatekey.把publickey放到服务器上.你登陆的时候,服务器会用你的publickey去…

一年几百亿的电费 中国移动再提5G功耗问题

最近&#xff0c;中移动高管表示&#xff0c;在5G网络建设中&#xff0c;中国移动将贯彻绿色发展的理念&#xff0c;利用节能技术&#xff0c;使功耗尽可能能够减少。之所以如此&#xff0c;原因之一是中国移动的网络功耗上受到一定程度的压力。在中国移动招股书中也反映出了5G…

IIS 7.0的集成模式和经典模式

IIS7.0中的 Web应用程序有两种配置模式&#xff1a;经典模式和集成模式。经典模式是为了与之前的版本兼容&#xff0c;使用ISAPI扩展来调用ASP.NET运行库&#xff0c;原先运行于 IIS6.0下的Web应用程序迁移到IIS7.0中只要将应用程序配置成经典模式&#xff0c;代码基本不用修改…

拆弹部队火了,种***的笑了

第82届奥斯卡颁奖落幕&#xff0c;美国战争片《拆弹部队》一举战胜票房第一的《阿凡达》获得6项大奖&#xff0c;而 《拆弹部队》这部电影并未进入电影院线&#xff0c;众多影迷们只能求助于互联网&#xff0c;《拆弹部队》立即成为搜索热词。只能在网上看大片&#xff0c;将面…

海外服务器搭建网站访问很慢,海外服务器访问速度变慢了怎么办

但随着越来越多的站长选择在海外服务器上搭建网站&#xff0c;也有许多使用者开始抱怨服务器速度怎么越变越慢了&#xff1f;所以我们在这里讲解下如何解决服务器访问速度变慢的问题。海外服务器访问速度变慢了怎么办首先我们需要找到是什么原因降低了服务器速度&#xff0c;其…

别 再 给 我 打 拼 音 缩 写 了

全世界只有3.14 % 的人关注了爆炸吧知识今天给大家介绍个朋友——姜哥&#xff01;他和所有即将步入中年的雄性一样&#xff0c;最爱在会议室上呼风唤雨&#xff0c;精神上俯视后辈。口头禅是“年轻人&#xff0c;这才哪到哪啊”。对新周猫“姜哥”来说&#xff0c;走出猫窝就是…

ios把数据传递到另一个页面_iOS 委托 页面之间传递数值

ios的页面传值方法很多&#xff0c;本博客主要是 通过委托模式 来传值。 将一个页面中时间选择器的值传递到另外一个页面主要包括三个模块第一&#xff1a;A类第二&#xff1a;委托协议第三&#xff1a;B类首先定义个一委托UIViewPassValueDelegate用来传递值protocol ViewPass…