rocketMQ
文章平均质量分 83
liu1002880404
这个作者很懒,什么都没留下…
展开
-
springBoot 整合rocketMQ 完整实例
springBoot 整合rocketMQ 完整实例文章目录springBoot 整合rocketMQ 完整实例pom 依赖配置文件通用pojo代码常量类生产者封装类异步消息的响应消费类过滤消息顺序消息测试pom 依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId&原创 2021-07-13 15:54:56 · 1298 阅读 · 0 评论 -
死信队列、消费幂等
1. 死信队列上一篇《RocketMQ:消息重试》中我们提到当一条消息消费失败时,RocketMQ会进行一定次数的重试。重试的结果也很简单,无非就是在第N次重试时,被成功消费。或者就是经过M次重试后,仍然没有被消息。这通常是由于消费者在正常情况下无法正确地消费该消息。此时,RocketMQ不会立即将消息丢弃,而是将其发送到该消费者对应的特殊队列中去。在RocketMQ中,这种正常情况下无法被消费的消息被称为死信消息(Dead-Letter Message),存储死信消息的特殊队列称为死信队列(Dea原创 2021-06-07 17:22:43 · 309 阅读 · 0 评论 -
RocketMQ 负载均衡,消息重试
负载均衡Rroducer负载均衡Producer端,每个实例在发消息的时候,默认会轮询所有的message queue发送,以达到让消息平均落在不同的queue上。而由于queue可以散落在不同的brocker,所以消息会发送到不同的brocker下图中箭头线条上的标号代表顺序,发布方会把第一条消息发送至Queue 0,然后第二条消息发送至Queue1,以此类推。Consumer负载均衡集群模式在集群消费模式下,每条消息只需要投递到订阅这个topic的Consumer Group下的一个原创 2021-06-07 17:17:43 · 277 阅读 · 0 评论 -
rocketmq 高可用机制
高可用机制RocketMQ分布式集群是通过Master和Slave的配合达到高可用性Master和Slave的区别:在Broker的配置文件中,参数brokerId的值为0表明这个Brocker是Master,大于0表明这个Brocker是Slave,同时BrokerRole参数也会说明这个Brocker是Master还是SlaveMaster角色的Brocker支持读和写,Slave角色的Brocker仅支持读,也即是Producer只能和Master角色的Broker连接写入消息;Cons.原创 2021-06-07 17:01:39 · 229 阅读 · 0 评论 -
rocketmq 消息存储
消息存储分布式队列因为有高可靠性的要求,所以数据要进行持久化存储消息生成者发送消息MQ收到消息,将消息进行持久化,在存储中新增一条记录返回ACK给生产者MQ push 消息给对应的消费者,然后等待消费者返回ACK如果消息消费者在指定时间内成功返回ack,那么MQ认为i消息消费成功,在存储中删除消息,即执行第6步;如果MQ在指定时间内没有收到ACK,则认为消息消费失败,会尝试重新push消息,重复执行4.5.6步骤MQ删除消息存储介质关系型数据库DB文件系统性能对比文件系统&g原创 2021-06-07 16:49:21 · 789 阅读 · 0 评论 -
SpringBoot 整合rocketMQ 过滤消息,事务消息
RocketMq提供消息过滤的功能,用于同一topic下,区分不同业务场景的消息。Tag,即消息标签,用于对某个Topic下的消息进行分类。消息队列RocketMQ版的生产者在发送消息时,已经指定消息的Tag,消费者需根据已经指定的Tag来进行订阅。使用springboot-starter的方式发送tag消息,只需要如下形式即可,不需要单独指定参数:topic:tag...原创 2021-06-07 16:34:32 · 447 阅读 · 2 评论 -
SpringBoot 2整合rocketMQ 顺序消息、延时消息、批量消息
顺序消息RocketMQ 默认消息同时的,但是在有些场景需要队列中的消息有顺序性,比如:发送了一条添加数据的消息,然后接着发送了一条更改数据的消息,此时肯定需要添加数据的消息先被消费,在rocketmq中可以指定消费者的consumeMode,其有两个属性CONCURRENTLY、ORDERLY,ORDERLY便是让一个队列中的数据有顺序的消费,先进先出。RocketMQ 一个Topic其实是分成了4个队列,所以在消息投递时,需要顺序的消息,要放在同一个队列中。消费者指定 consumeMode原创 2021-06-07 16:11:59 · 1729 阅读 · 1 评论 -
RoketMQ可视化界面安装
1.RocketMQ ConsoleRocketMQ Console是RocketMQ 提供的可视化管理工具,方便可视化的操作,官网文档地址:https://rocketmq-1.gitbook.io/rocketmq-connector/rocketmq-connect/rocketmq-console/kong-zhi-tai-jian-jie2.安装和使用官方指引地址:https://rocketmq-1.gitbook.io/rocketmq-connector/rocketmq-c原创 2021-06-07 14:59:04 · 434 阅读 · 0 评论 -
为什么使用MQ?为什么使用rocketMQ
为什么在你们系统架构中要引入消息中间件?回答这个问题,其实就是让你先说说消息中间件的常见使用场景。然后结合你们自身系统对应的使用场景,说一下在你们系统中引入消息中间件解决了什么问题。系统解耦假设你有个系统 A,这个系统 A 会产出一个核心数据,现在下游有系统 B 和系统 C 需要这个数据。那简单,系统 A 就是直接调用系统 B 和系统 C 的接口发送数据给他们就好了。整个过程,如下图所示:但是现在要是来了系统 D、系统 E、系统 F、系统 G,等等,十来个其他系统慢慢的都需要这份核心原创 2021-06-07 14:37:10 · 449 阅读 · 0 评论 -
如何保证 RocketMQ 不丢失消息
0x00. 消息的发送流程一条消息从生产到被消费,将会经历三个阶段:生产阶段,Producer 新建消息,然后通过网络将消息投递给 MQ Broker 存储阶段,消息将会存储在 Broker 端磁盘中 消息阶段, Consumer 将会从 Broker 拉取消息以上任一阶段都可能会丢失消息,我们只要找到这三个阶段丢失消息原因,采用合理的办法避免丢失,就可以彻底解决消息丢失的问题。0x01. 生产阶段生产者(Producer) 通过网络发送消息给 Broker,当 Broker...原创 2021-03-02 08:45:34 · 272 阅读 · 0 评论 -
RocketMQ顺序消息的实现机制
当我们说顺序时,我们在说什么?日常思维中,顺序大部分情况会和时间关联起来,即时间的先后表示事件的顺序关系。比如事件A发生在下午3点一刻,而事件B发生在下午4点,那么我们认为事件A发生在事件B之前,他们的顺序关系为先A后B。上面的例子之所以成立是因为他们有相同的参考系,即他们的时间是对应的同一个物理时钟的时间。如果A发生的时间是北京时间,而B依赖的时间是东京时间,那么先A后B的顺序关系还成立吗?如果没有一个绝对的时间参考,那么A和B之间还有顺序吗,或者说怎么断定A和B的顺序?显而易见...原创 2021-03-01 17:13:18 · 182 阅读 · 0 评论 -
RocketMQ面试汇总
RocketMQ在面试中那些常见问题及答案+汇总1、说说你们公司线上生产环境用的是什么消息中间件?见【2、多个mq如何选型?】2、多个mq如何选型?MQ 描述 RabbitMQ erlang开发,对消息堆积的支持并不好,当大量消息积压的时候,会导致 RabbitMQ 的性能急剧下降。每秒钟可以处理几万到十几万条消息。 RocketMQ java开发,面向互联网集群化功能丰富,对在线业务的响应时延做了很多的优化,大多数情况下可以做到毫秒级的响应,每秒钟大概能处理.原创 2020-12-28 19:26:14 · 782 阅读 · 0 评论 -
RocketMQ保证消息不丢失
分别从Producer发送机制、Broker的持久化机制,以及消费者的offSet机制来最大程度保证消息不易丢失从Producer的视角来看:如果消息未能正确的存储在MQ中,或者消费者未能正确的消费到这条消息,都是消息丢失。 从Broker的视角来看:如果消息已经存在Broker里面了,如何保证不会丢失呢(宕机、磁盘崩溃) 从Consumer的视角来看:如果消息已经完成持久化了,但是Consumer取了,但是未消费成功且没有反馈,就是消息丢失从Producer分析:如何确保消息正确的发送到了B..原创 2020-12-28 19:19:05 · 267 阅读 · 0 评论 -
SpringBoot 2整合rocketMQ 同步消息、异步消息、单向消息,消息消费
SpringBoot整合rocketMQRocketMQRocketmq阿里巴巴开源的一款非常优秀的MQ中间件,现在已经捐赠给Apache成为顶级项目,并且已经成功孵化,而且它是为数不多的支持分布事务消息的中间件。中文文档GitHub80apache/rocketmq80Mirror of Apache RocketMQ. Contribute to apache/rocketmq development by creating an account on GitHub....原创 2020-10-13 17:18:59 · 1779 阅读 · 0 评论 -
RocketMQ集群模型与搭建
RocketMQ集群模型与搭建一. RocketMQ集群模型RocketMQ天然支持分布式集群模型,其中主节点可读可写,从节点只可读,不可写,类似MySQL的主从模式。RocketMQ主要支持以下几种集群模型: 单机模式(M) 这种方式风险较大,一旦Broker重启或者宕机时,会导致整个消息服务不可用,不建议在生产环境中使用。 双Master模式/多Master模式(2M) 一个集群无Slave,全是Master,例如2个Master或者3个Master。原创 2020-10-13 17:04:38 · 195 阅读 · 1 评论 -
RocketMQ的重试机制
RocketMQ的重试机制一. MQ的重试机制由于MQ经常处于复杂的分布式系统中,考虑网络波动、服务宕机、程序异常因素,很有可能出现消息发送或者消费失败的问题。因此,消息的重试就是所有MQ中间件必须考虑到的一个关键点。如果没有消息重试,就可能产生消息丢失的问题,可能对系统产生很大的影响。所以,秉承宁可多发消息,也不可丢失消息的原则,大部分MQ都对消息重试提供了很好的支持。RocketMQ为使用者封装了消息重试的处理流程,无需开发人员手动处理。RocketMQ支持了生产端和消费端两类重试机制。原创 2020-10-13 16:52:47 · 2128 阅读 · 0 评论 -
Windows环境下安装RocketMQ及RocketMQ插件
一.预备环境1.系统Windows2. 环境JDK1.8、Maven、Git二. RocketMQ部署1.下载1.1地址:http://rocketmq.apache.org/release_notes/1.2选择一个版本 再选择‘Binary’进行下载1.3解压已下载工程2. 配置2.1 系统环境变量配置变量名:ROCKETMQ_HOME path3. 启动3.1 启动NAMESERVERCmd命令框执行进入至‘MQ文件夹\bin’下,然后执行‘sta...原创 2020-09-24 08:52:34 · 984 阅读 · 0 评论 -
rocketMQ简介
1、RocketMQ简介与安装 1.1、RocketMQ简介 Apache RocketMQ是一个采用Java语言开发的分布式的消息系统,由阿里巴巴团队开发,与2016年底贡献给 Apache,成为了Apache的一个顶级项目。 在阿里内部,RocketMQ 很好地服务了 集 团大大小小上千个应用,在每年的双十一当天,更有不可思议的万亿级 消息通过 RocketMQ 流转(在 2017 年的双十一当天,整个阿里巴巴集团通过 RocketMQ 流转的线上消息达到了 万 亿级,峰值 TP原创 2020-09-21 19:11:26 · 279 阅读 · 0 评论