RabbitMQ(基础理论)

前言:最近在做一下RabbitMq的demo例子。从安装 到 代码实践。但是总感觉空空,需要补充一下基础理论,然后在使用代码 应该就会很好结合,下次发代码demo,今天来理论。

1.什么是rabbitMQ  (这里有一些定义是借用别的up主的感觉说的 举例挺好 就copy下来)

RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue 高级消息队列协议 )的开源实现,能够实现异步消息处理

RabbitMQ是一个消息代理:它接受和转发消息。

优点:

(1)异步消息处理,业务解耦(下订单操作:扣减库存、生成订单、发红包、发短信), 将下单操作主流程:扣减库存、生成订单然后通过MQ消息队列完成通知,发红包、发短信

(2)错峰流控 (通知量 消息量 订单量大的情况实现MQ消息队列机制,淡季情况下访问量会少)

(3)灵活的路由(Flexible Routing)

在消息进入队列之前,通过 Exchange 来路由消息的。对于典型的路由功能,RabbitMQ 已经提供了一些内置的 Exchange 来实现。针对更复杂的路由功能,可以将多个 Exchange 绑定在一起,也通过插件机制实现自己的 Exchange

(4)RabbitMQ网站端口号:15672
    程序里面实现的端口:5672

2.queue队列

Queue(队列)RabbitMQ的作用是存储消息,队列的特性是先进先出

生产者生产消息最终被送到RabbitMQ的内部对象Queue中去,

消费者则是从Queue队列中取出数据。

3.消息队列

(1)消息(Message)是指在应用间传送的数据。消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象。这里 我感觉 直接json字符串就行可以.

(2)消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回,
消息系统来确保消息的可靠传递消息发布者只管把消息发布到 MQ 中而不用管谁来取消息使用者只管从 MQ 中取消息而不管是谁发布的。这样发布者和使用者都不用知道对方的存在。

4.消息队列中间件:kafka   rabbitMQ  activeMQ   rocketMQ(可以处理分布式事务)

5.个人语音总结一下吧:

(1)首先RabbitMQ是由ERLang语言设计的所以我们在安装的时候就像安装java语言JDK一样,安装完ERLang ,然后我们去下载RabbitMQ 服务程序,这样程序才能在我们的电脑上启动运行。下载以及安装过程我的第一篇文章提过了,感兴趣的可以简单看一下。

(2)在RabbitMQ中的我们总是提到 消息。消息的发送消息的接收

我们可以有消息队列:生产者生产消息发送到队列中。

订阅者可以实时订阅到队列里面传来的消息。

对于RabbitMq来说更是一个代理消息的对象。

(3)交换机的概念

在我实践的过程中,我发现队列可以绑定到交换机上。

大致的一个方向吧。说太多的理论感觉很容易懵。我们先浅显的了解一些,后期会加代码实践,在实践中我们在结合理论,那样我们在吸收的过程中应该会更明显。

  

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值