RocketMQ

**MQ(Message Queue)消息队列:**是一种用来保存消息数据的队列。 **队列:**数据结构的一种,特征为先进先出。

MQ的作用(优点):1、应用解耦(异步消息发送);2、快速应用变更维护(异步消息发送);3、流量削峰(异步消息发送)。
(缺点):1、系统可用性降低;2、系统复杂度提高;3、异步消息机制:消息顺序性、消息丢失、消息一致性、消息重复使用。

四款MQ区别:在这里插入图片描述

**生产者:**创建消息。
**消费者:**使用/消费消息。
**消息服务器:**存放消息。
**命名服务器:**生产者、消费者、消息服务器靠命名服务器通行,命名服务器负责对接他们。
**消息:**传递的消息包含:主题(主分类)标签(小分类)
心跳:
监听器:
拉取消费、推动消费:
注册:
在这里插入图片描述

环境搭建:

RocketMQ下载地址:https://www.apache.org/
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

消息发送(重点):

单生产者单消息者消息发送(OneToOne)

在这里插入图片描述
在这里插入图片描述

单生产者多消息者消息发送(OneToMany)

消费模式:使用消费模式时,需要根据业务来判断,如果业务是需要mq处理同一组数据就用负载均衡模式(默认的,也是常用的),不同则用广播模式
在这里插入图片描述
在这里插入图片描述

消息类别

在这里插入图片描述
在这里插入图片描述

延时消息

在这里插入图片描述

批量消息

在这里插入图片描述

消息过滤

**分类过滤:**通过主题分类过滤消息,还可以通过主题下的标签分类过滤消息。
在这里插入图片描述
**消息过滤(属性过滤/语法过滤/SQL过滤):**生产者服务为消息添加属性,消费者服务使用消息选择器来过滤对应的属性,语法格式为类SQL语法。
在这里插入图片描述

顺序消息

防止消息错乱:1、首先发送消息时,要把同一个业务放进一个通道里进行发送。
在这里插入图片描述
2、接收消息时,使用单线程的模式从消息队列中取数据,一个线程绑定一个消息队列。虽然这样会降低一点处理消息数据的性能,但是能保证线程在取消息消费的时候不会插队。
在这里插入图片描述

事物消息概念与工作过程分析

在这里插入图片描述
事物消息状态
在这里插入图片描述

事物消息代码实现

在这里插入图片描述

集群搭建

RocketMQ集群工作流程

在这里插入图片描述

高级特性(重点):

消息持久化与持久化介质

早期的ActiveMQ是把消息存在数据库里的,后期的RocketMQ、Kafaka、RabbitMQ是把消息存在文件系统中。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

搬砖的小李同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值