1.软文推荐

2.软文推荐

3.软文推荐

目录: 1、rabbitmq消息队列介绍 2、消息队列到底能起什么样的作用 3、消息系统的作用 rabbitmq消息队列介绍

rabbitmq是建立在AMQP上的企业消息系统。

以生产者消费者为模型而存在的一个消息队列.

1、解耦

这是一个天然的解耦,实现了应用程序不再通过接口,你只需要调用消息队列的接口把结果存放在消息队列即可。

2、异步

一个同步的程序执行,通过消息队列,即可实现异步操作,而不必等待结果返回。在应对一些大并发中,起着很重要的作用.

如下图

这里就只有一个队列而已,生产者生产消费,放入到队列中,消费者进行消息消费。

这个能实现多个消费者之间进行消费的公平分发,消息者们可以通过自身的负载进行设置分发频率,比如。a消费者因为一些机器配置等的问题,导致消息没有被立即消费掉,堆积了很多消息,消费者就可以通过设置告诉rabbitmq控制分发频率,别一直发了。这其实就是类似能者多劳的意思。

如下图所示

上面的几种类型,都是消息只能发送到指定的queue中,但是想要类似广播的效果,发给所有消费者,或者像组播的形式,发送给某些特定的消费者。这时候就需要用到exchange了。

1、fanout 所有bind到此exchange的queue都可以接收消息

2、direct: 通过routingKey和exchange决定的那个唯一的queue可以接收消息

3、topic:所有符合routingKey(此时可以是一个表达式)的routingKey所bind的queue可以接收消息

表达式符号说明:

4、headers: 通过headers 来决定把消息发给哪些queue

如下图所示

这其实就是direct组播模式,设置好exchange交换机的类型,转发的时候,会检查队列中的routingkey值,如果和消息的关键字相同则转发,否则丢弃

这是topic模式,这个其实和上面一个转发有点类似,但是这个支持模糊匹配,消息队列到底能起什么样的作用

因为短信不能一次性群发,所以就有短信消息队列功能,把队列里面的短信 每各几秒或者是在多少时间内处理完。

消息系统的作用

消息系统在目前的分布式系统中设计中,作用越来越大。它的使用场景,包括但不限于。

1、削峰。用于承接超出业务系统处理能力的请求,使业务平稳运行,能够大量节约成本,如秒杀活动并不是针对峰值设计容量。

2、缓冲。在服务层和缓慢的落地层作为缓冲层存在,作用与削峰类似,主要用于服务内数据流转,如批量短信发送。

3、解耦。项目尹始并不能确定具体需求。消息队列作为一个接口层,解耦重要的业务流程。需要遵守约定、针对数据编程即可获取扩展能力。

4、冗余。消息数据能够采用一对多的方式,供多个毫无关联的业务使用。

5、健壮性。消息队列可以堆积请求、消费端业务即使短时间死掉也不会影响主要业务的正常进行。

相关文章 8

2

企业上云的意思(企业上云的概念和内容) 5分钟前

目录:1、什么是企业上云?2、企业上云是什么?谁能解释一下?3、什么是企业上云什么是企业上云? 【什么是企业上云,为什么要企业上...

3

namesilo域名(namesilo域名转出) 8分钟前

目录:1、如何取消namesilo的转入域名2、namesilo 域名安全吗3、在网站namesilo怎么解析域名4、Namesilo 域名续费涨价了,正常吗5、万网域名转出...

4

关键词优化公司时尚易速达(易时尚官网) 11分钟前

目录:1、北京网站排名优化百度市场营销找谁做?2、天津关键词优化排名效果好的公司?有哪些个?3、seo优化关键字排名网络推广公司哪...

5

等级保护2.0标准(等级保护测评网) 13分钟前

目录:1、网络安全等级保护2.0标准体系2、什么是等保2.0?3、等保2.0基本要求网络安全等级保护2.0标准体系 等级保护2.0标准主要特点 首先,...

6

全球云计算排名(云计算最厉害的三大公司) 15分钟前

目录:1、中国云计算公司收入排名:阿里云55.6亿吊打微软、腾讯2、中国十大云计算公司排名3、全球云计算3a是哪几家4、云计算产品有哪些...

7

centos开启ssh服务(centos8 ssh服务开启) 16分钟前

目录:1、如何开启Centos6.4系统的SSH服务2、如何开启ssh服务3、centos7配置ssh4、CentOS7 sshd5、CentOS 8 启用 ssh 服务6、centos7配置ssh连接如何开启...

8

阿里云vps主机(阿里云vps怎么用) 19分钟前

目录:1、阿里云服务器ECS和VPS主机的区别在哪里2、vps主机是什么意思啊?3、阿里云主机和服务器及VPS有什么区别4、阿里云vps和云服务器哪...