![](https://img-blog.csdnimg.cn/2021061818220281.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
RocketMQ
文章平均质量分 84
主要讲解RabbitMQ,RocketMQ,KafaKa等消息中间件,学会如何选型MQ,在实际业务场景中解决问题
程序员路同学
九八年程序员一枚,喜欢钻研技术,从事后端开发,正努力向全栈发展,如果你有更好的技术分享,欢迎私信留言
展开
-
实际生产环境中RocketMQ-消息零丢失方案
这个图是生产者消息者实际生产上的一个流程图。其中,1,2,4三个场景都是跨网络的,而跨网络就肯定会有丢消息的可能。然后关于3这个环节,通常MQ存盘时都会先写入操作系统的缓存page cache中,然后再由操作系统异步的将消息写入硬盘。这个中间有个时间差,就可能会造成消息丢失。如果服务挂了,缓存中还没有来得及写入硬盘的消息就会丢失。 1、同步刷盘 我们可以简单的把RocketMQ的刷盘方式 flushDiskType配置成同步刷盘就可以保证消息在刷盘过程中不会丢失了。若 Broker 未在同步刷原创 2022-07-12 17:10:49 · 1395 阅读 · 1 评论 -
RocketMQ-源码解读与调试
源码拉取:RocketMQ的官方Git仓库地址:GitHub - apache/rocketmq: Mirror of Apache RocketMQ 可以用git把项目clone下来或者直接下载代码包。也可以到RocketMQ的官方网站上下载指定版本的码: Downloading the Apache RocketMQ Releases - Apache RocketMQRocketMQ源码下载下载后就可以解压导入到IDEA中进行解读了。我们只要注意下是下载的4.7.1版本就行了。源码下很多的功能模块,很原创 2022-06-22 21:16:37 · 413 阅读 · 0 评论 -
RocketMQ-实际开发中遇到的几个问题
下面思考RocketMQ实际生产上遇到的问题,前面有讲到Mq数据丢失问题,在实际生产中思考下下面几个问题?那么在实际生产中如何保证消息不丢失 如何保证消息的顺序性,使得消费者可以按照发送方发送的数据消费数据 当消息出现数据堆积时,如何快速处理堆积的数据 MQ消息如何保证不被重复消费我们带着这些问题开始思考,在实际的生产实践中如何做到上面这些。保证消息不丢失在考虑如何保证消息不丢失时,首先考虑下在那些情况下会出现消息丢失,在存在消息丢失的情况下又如何做来避免消息丢失。这个图是生产者原创 2021-06-24 09:48:40 · 1595 阅读 · 1 评论 -
RocketMQ-高级原理
本节讲解下当MQ消息消费失败,或者发送不成功时如何处理消息,消息发送不成功一般存在于几种情况,网络原因,服务宕机,或者broker配置消息发送失败如果是由于broker配置原因,可以通过报错提示排查原因:无法查到路由信息,一般考虑到rocketMQ读取路由信息过程:如果Broker开启了自动创建Topic,在启动的时候会默认创建主题:并会随着Broker发送到Nameserver的心跳包汇报给Nameserver,继而从Nameserver查询路由信息时能返回路由信息。 消息发送者在.原创 2021-06-22 09:07:53 · 219 阅读 · 0 评论 -
RocketMQ第七篇 RocketMQ消息存储与负载均衡
RocketMQ消息存储,前面讲到RocketMQ刷盘方式主要有同步刷盘和异步刷盘,前者可以保证数据完整性,但是效率比较低。目录何时存储消息消息存储结构消息存储结构刷盘机制消息主从复制负载均衡何时存储消息分布式队列因为有高可靠性的要求,所以数据要进行持久化存储。MQ收到一条消息后,需要向生产者返回一个ACK响应,并将消息存储起来。 MQ Push一条消息给消费者后,等待消费者的ACK响应,需要将消息标记为已消费。如果没有标记为消费,MQ会不断的尝试往消...原创 2021-06-21 16:20:37 · 282 阅读 · 0 评论 -
RocketMQ-Spring Boot 整合RocketMQ
在实际工作中主要使用SPringBoot集成开发,SPringBoot集成RocketMQ需要引入依赖: <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-spring-boot-starter</artifactId> <version>2.1.1</ver原创 2021-06-20 16:28:07 · 717 阅读 · 0 评论 -
RocketMQ第五篇 RocketMQ API基本使用
前面已经学习了Rocket的基本知识,以及搭建MQ单机版和集群环境,下面开始进行实际开发,首先l原创 2021-06-20 15:17:37 · 794 阅读 · 0 评论 -
RocketMQ第四篇 Rocket集群配置
在实际开发中一般都会使用docker安装rocketMQ,docker安装rocketmq如下:docker安装配置rocketmq原创 2021-06-19 15:51:54 · 2431 阅读 · 0 评论 -
RocketMQ第二篇 单机版安装操作步骤
MQ下载地址下载RocketMQ 4.7.1版本 RocketMQ运行版本下载地址:https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.7.1/rocketmq-all-4.7.1-bin-release.zip RocketMQ源码版本下载地址:https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.7.1/rocketmq-all-4.7.1-source-release.zi..原创 2021-06-18 19:36:45 · 270 阅读 · 0 评论 -
RocketMQ-安装过程遇到的问题解决方案
1.启动broker报错虚拟机内存小,导致虚拟机中的JVM内存小,进而在启动broker时分配JVM内存遇到问题查询网上得知,查看/usr/local/rocketmq-all-4.3.0/distribution/target/apache-rocketmq/bin/runbroker.sh的配置参数,修改即可......原创 2021-06-18 19:30:52 · 359 阅读 · 0 评论 -
RocketMQ-了解认识MQ
学习MQ之前我们需要知道,为什么要去学习MQ呢,学会了MQ对我们有什么用呢?又在那些场景中会用到MQ呢?在使用MQ的过程中要需要注意那些问题呢?在实践过程中遇到问题如何解决呢?下面我们带着zhe......原创 2021-06-18 18:55:59 · 282 阅读 · 0 评论