备战金九银十:RabbitMQ有5种工作模式(6)

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/284212.shtml

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

相关文章

【GlobalMapper精品教程】020:Lidar点云数据分类(自动分类、手动分类)案例详解

航测点云通常跟DSM一致,即包含植被、房屋等信息,必须进行点云分类、过滤,才能生成准确的高程点、等高线和DEM等地形数据。本文以案例的形式详细讲解globalmapper23中点云工具及使用方法。 文章目录 1. 点云分类2. 创建地面高程格网3. 地形绘制4. 格网转点云5. 点云抽稀6. 点…

社交网络图中结点的“重要性“计算(Dijkstra + SPFA + Floyd + 模板)

题目链接: 无 题目大意: 求一个点到其他所有点的最短距离和,保证图连通。 解题过程: 刚开始用 Floyd 水过的,后来用换了几种方法,不错的模板题,Floyd 的时候,要用 vector 存边&#…

web布局固定宽度+变化宽度实现思路

前言 页面当中常规布局我想大家都会的&#xff0c;但有些布局是常规布局中实现不了的&#xff0c;比如变宽和固宽结合的&#xff0c;需要实现(300px)&#xff0b;(100%&#xff0d;300px)的两列布局。以下样式代码前提均为盒模型为border-sizing 的前提下。 html部分 <div c…

CSS3 nth 伪类选择器

考察下面的 HTML 代码片段&#xff1a; <div><section>section 1</section><section>section 2</section><ul><li>item 1</li><li><ul><li>sub item 1</li><li>sub item 2</li><li>…

RedisCluster的安装、部署、扩容和 Java客户端调用

Redis下载 官网地址&#xff1a;http://redis.io/ 中文官网地址&#xff1a;http://www.redis.cn/ 下载地址&#xff1a;http://download.redis.io/releases/ 安装 # &#xff08;三台&#xff09;安装 C 语言需要的 GCC 环境 yum install -y gcc-c yum install -y wget # 下…

【CloudCompare教程】001:CloudCompare中文版下载与安装图文教程

CloudCompare是一款功能强大的点云后处理软件,本文讲解CloudCompare中文版下载与安装方法。 文章目录 一、CloudCompare下载地址二、CloudCompare安装教程三、CloudCompare中文设置一、CloudCompare下载地址 官方下载地址:http://www.danielgm.net/cc/release/ 二、CloudComp…

ML.NET相关资源整理

在人工智能领域&#xff0c;无论是机器学习&#xff0c;还是深度学习等&#xff0c;Python编程语言都是绝对的主流&#xff0c;尽管底层都是C实现的&#xff0c;似乎人工智能和C#/F#编程语言没什么关系。在人工智能的工程实现&#xff0c;通常都是将Python训练好的人工智能模型…

带参数的宏替换

带参数的宏替换因各种需求叠加&#xff0c;替换规则很怪异&#xff1a; 1、首先将实参替换形参&#xff0c;并展开宏 2、如果1步展开后&#xff0c;有#或者##&#xff0c;那么停止替换。 3、如果1步展开后&#xff0c;没有#或者##&#xff0c;且参数也是宏&#xff0c;那么继续…

JAVA学习日志(7-1-继承)

为什么80%的码农都做不了架构师&#xff1f;>>> 继承 1.提高代码复用性 2.让类与类之间产生关系&#xff0c;有了这个关系才有了多态的特性 **不要为了获取其他类的功能&#xff0c;简化代码而继承&#xff0c; 必须是类与类之间有所属关系才可以继承&#xff0c;所…

BZOJ 1370: [Baltic2003]Gang团伙 [并查集 拆点 | 种类并查集WA]

题意&#xff1a; 朋友的朋友是朋友&#xff0c;敌人的敌人是朋友&#xff1b;朋友形成团伙&#xff0c;求最多有多少团伙 种类并查集WA了一节课&#xff0c;原因是&#xff0c;只有那两种关系才成立&#xff0c;诸如朋友的敌人是朋友之类的都不成立&#xff01; 所以拆点做吧 …

常见Lidar点云数据处理及可视化软件汇总

常见的点云处理及可视化软件有&#xff1a; CloudCompare、Globalmapper、Pix4d、ArcGIS&#xff08;Pro&#xff09;、Lidar 360、PCL等等。 文章目录1. CloudCompare2. Globalmapper3. Pix4d4. ArcGIS&#xff08;Pro&#xff09;5. Lidar 3606. PCL1. CloudCompare CloudCo…

Spring 自带工具类汇总

断言 断言是一个逻辑判断&#xff0c;用于检查不应该发生的情况 Assert 关键字在 JDK1.4 中引入&#xff0c;可通过 JVM 参数-enableassertions开启 SpringBoot 中提供了 Assert 断言工具类&#xff0c;通常用于数据合法性检查 // 要求参数 object 必须为非空&#xff08;Not…

解决new Thread().Start导致高并发CPU 100%的问题

背景之前接手一个项目的时候&#xff0c;发现到处是new Thread(()>{ //do something }).Start();这么做的目的&#xff0c;无非是为了减少页面等待时间提高用户体验&#xff0c;把一些浪费时间的操作放到新线程中在后台运行。问题但是这样带来的问题是大量的创建线程&#x…

基于 HTML5 Canvas 绘制的电信网络拓扑图

电信网结构&#xff08;telecommunication network structure&#xff09;是指电信网各种网路单元按技术要求和经济原则进行组合配置的组合逻辑和配置形式。组合逻辑描述网路功能的体系结构&#xff0c;配置形式描述网路单元的邻接关系&#xff0c;即以交换中心&#xff08;或节…

网络相关配置,SSH服务,bash, 元字符

作业一&#xff1a;临时配置网络&#xff08;ip&#xff0c;网关&#xff0c;dns&#xff09;永久配置 设置IP和掩码ifconfig eth0 192.168.2.2 netmask 255.255.255.0设置网关route add default gw 192.168.2.10[rootbogon ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0…

【GlobalMapper精品教程】021:利用控制点校正栅格图像

本文讲解GlobalMapper中利用控制点校正栅格图像的方法,数据为配套实验数据包中的data021.rar。 文章目录 一、结果预览二、校正过程【推荐阅读】:ArcGIS实验教程——实验二:ArcGIS地理配准完整操作步骤 一、结果预览 二、校正过程 (1)打开图像。选择实验包中的待校正的栅…

[笔记]提升R的性能和突破内存限制的技巧

本文为雪晴数据网《R语言大规模数据分析实战》 http://www.xueqing.tv/course/56 的课程学习笔记。 该课程目前更新到“第2章 Microsoft R Server简介”的微软数据科学家介绍MRS&#xff0c;后续教学主要是关于MRS的内容&#xff0c;再另外学习&#xff0c;所以本文只学习“第1…

WTM:ASP.NET Core快速开发利器!

不少程序员朋友应该都有这个想法&#xff0c;接接私活&#xff0c;赚赚外快&#xff0c;但是从零开发一套系统并不容易&#xff0c;今天给大家推荐一款开箱即用的通用后台管理系统。一个能够让程序猿快速开发的炒鸡脚手架&#xff0c;采用.NET Core开源框架&#xff01;github地…

【CloudCompare教程】002:点云绘制模式详解

文章目录 1. 按高程着色2. 按索引着色3. 按渐变着色1. 按高程着色 在内容列表中选中点云图层,点击【编辑】→【标量领域】→【将坐标导出到SF】。 勾选Z,点击OK。 高程着色效果: 2. 按索引着色 点击【编辑】→【标量领域】→【添加点指数为SF】。 索引着色效果: