• 欢迎访问 winrains 的个人网站!
  • 本网站主要从互联网整理和收集了与Java、网络安全、Linux等技术相关的文章,供学习和研究使用。如有侵权,请留言告知,谢谢!

标签:RocketMQ

消息队列

RocketMq之事务消息实现原理

RocketMq之事务消息实现原理
RocketMQ提供了事务消息的功能,采用2PC(两段式协议)+补偿机制(事务回查)的分布式事务功能,通过消息队列 RocketMQ 版事务消息能达到分布式事务的最终一致。 概览 半事务消息:暂不能投递的消息,发送方已经成功地将消息发送到了消息队列 RocketMQ 版服务端,但是服务端未收到生产者对该消息的二次确认,此时该消息被标记成“暂不能投递”状……继续阅读 »

winrains 4个月前 (06-28) 68浏览 3个赞

消息队列

RocketMq之Broker源码分析

RocketMq之Broker源码分析
服务器上部署的RocketMq进程一般称之为Broker,Broker会接收Producer的消息,持久化到本地,然后push给Consumer,通常使用集群部署,主从之间会有数据同步。 Broker与NameSever Broker 会向所有 NameSever 注册自己(包含topic信息),并保持心跳连接。 连接单个broker和所有namese……继续阅读 »

winrains 4个月前 (06-28) 81浏览 3个赞

消息队列

RocketMq之Consumer原理浅析

RocketMq之Consumer原理浅析
Consumer是怎么启动的 源码很长,这里就不仔细看了,其实主要就是初始化了三个组件,然后启动后台定时任务 RebalanceImpl 均衡消息队列服务,负责分配当前 Consumer 可消费的消息队列( MessageQueue )。当有新的 Consumer 的加入或移除,都会重新分配消息队列。 PullAPIWrapper 拉取消息组件 o……继续阅读 »

winrains 4个月前 (06-28) 52浏览 3个赞

消息队列

RocketMq之NameSever浅析

RocketMq之NameSever浅析
NameSever 是一种路由服务,类似于dubbo中的注册中心zk,它存储了Broker的路由信息,供Producer和Consumer使用,不然Producer怎么知道往哪个Broker发送消息。多个NameSever之间没有通信,每个NameSever都会保存所有路由信息。 NameSever的启动 NameSever 是通过命令行在服务器上启动的,通……继续阅读 »

winrains 4个月前 (06-28) 58浏览 3个赞

消息队列

RocketMQ 路由中心 NameServer

RocketMQ 路由中心 NameServer
1. 前言 NameServer 是整个Rocketmq 的大脑,是为了控制多台消息服务器,解决单点宕机问题问题而设计的。 2. NameServer启动流程 从NameServer启动类org.apache.rocketmq.namesrv.NameSrvStartup可以看出,NameServer的启动第一步先加载NameServerConfig配置……继续阅读 »

winrains 7个月前 (04-05) 47浏览 2个赞

消息队列

RocketMQ 生产者和消息存储

RocketMQ 生产者和消息存储
1. 前言 本篇主要从源码分析消息的发送及存储。rocketmq发送消息分为三种实现方式:可靠同步发送、可靠异步发送、单向发送。目前的MQ中间件从存储模型来看,分为需要持久化和不需要持久化两种。本篇文章会分析rocketmq的消息存储机制。 2. RocketMQ 消息 先看看rocketmq 消息封装类org.apache.rocketmq.commo……继续阅读 »

winrains 7个月前 (04-05) 71浏览 2个赞

消息队列

RocketMQ 相关流程与原理

RocketMQ 相关流程与原理
前言 整理了一些RocketMQ相关流程图/原理图,做一下笔记,大家一起学习。 RocketMQ是什么 是一个队列模型的消息中间件,具有高性能、高可靠、高实时、分布式特点。 Producer、Consumer、队列都可以分布式。 Producer 向一些队列轮流发送消息,队列集合称为 Topic,Consumer 如果做广播消费,则一个 consum……继续阅读 »

winrains 7个月前 (03-28) 43浏览 1个赞

消息队列

消息队列和 RocketMQ 入门总结

消息队列和 RocketMQ 入门总结
消息队列扫盲 消息队列顾名思义就是存放消息的队列,队列我就不解释了,别告诉我你连队列都不知道似啥吧? 所以问题并不是消息队列是什么,而是消息队列为什么会出现?消息队列能用来干什么?用它来干这些事会带来什么好处?消息队列会带来副作用吗? 消息队列为什么会出现? 消息队列算是作为后端程序员的一个必备技能吧,因为分布式应用必定涉及到各个系统之间的通信问题,这个时候……继续阅读 »

winrains 8个月前 (02-22) 66浏览 2个赞

消息队列

分布式开放消息系统(RocketMQ)的原理与实践

分布式开放消息系统(RocketMQ)的原理与实践
这篇文章写成距今(201808)已经两年半了,其中的内容我已经不能保证是否已经过时,由于当前的业务中也没有在使用RocketMQ,因此很少有时间再去刨代码,很多实践方面的问题也不能很好的为大家解决。因此,建议大家权当入门文章看看,实践中遇到问题的话,在本机跑一跑代码且调试一下,或者去社区逛逛,有可能对你解决问题的帮助会大一些。当然简单的问题,我会尽力和大家交……继续阅读 »

winrains 1年前 (2019-10-20) 57浏览 1个赞

消息队列

深入理解RocketMQ:MQ消息的投递机制

深入理解RocketMQ:MQ消息的投递机制
0. 前言 RocketMQ的消息投递分分为两种:一种是生产者往MQ Broker中投递;另外一种则是MQ broker 往消费者 投递(这种投递的说法是从消息传递的角度阐述的,实际上底层是消费者从MQ broker 中Pull拉取的)。本文将从模型的角度来阐述这两种机制。 1. RocketMQ的消息模型 RocketMQ 的消息模型整体并不复杂,如下图所……继续阅读 »

winrains 1年前 (2019-09-26) 59浏览 1个赞