![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
rocketmq
文章平均质量分 77
馥钰
好人一生平安!道阻且长,行则将至!
选择一条自己喜欢的路,向前走,莫回头!
天道酬勤!
学海无涯,温故而知新!
线下不努力,线上出问题!线上出问题,努力全白费!
分布式系统、高并发、大流量,分布式计算、分布式存储!
展开
-
rocketmq学习笔记 一 hello world
http://blog.csdn.net/akfly/article/details/53395289早就听说过rocketmq,一直没时间去研究它最近打算从hello world开始,,深入的学习rocketmq 0.git下载源码本地编译git地址 https://github.com/alibaba/RocketMQ.git下载完成后执行mvn转载 2017-11-29 11:20:48 · 246 阅读 · 0 评论 -
RocketMQ实战(二)
http://www.jianshu.com/p/790d6bc4a1c1在上一篇《RocketMQ实战(一)》中已经为大家初步介绍了下RocketMQ以及搭建了双Master环境,接下来继续为大家介绍!Quick Start写一个简单的生产者、消费者,带大家快速体验RocketMQ~Maven配置:pom.xml生产者:生产者代码消费者:消费者代码无论生转载 2017-12-18 15:55:16 · 549 阅读 · 0 评论 -
RocketMQ实战(三):分布式事务
http://www.jianshu.com/p/53324ea2df92接 《RocketMQ实战(一)》,《RocketMQ实战(二)》,本篇博客主要讨论的话题是:顺序消费、RMQ在分布式事务中的应用等。关于多Master多Slave的说明由于在之前的博客中已经搭建了双Master,其实多Master多Slave大同小异,因此这里并不会一步步的演示搭建多Master多Slave,而转载 2017-12-18 15:56:55 · 824 阅读 · 0 评论 -
RocketMQ实战(四)
http://www.jianshu.com/p/6868ddceaa5b前言这将是RocketMQ实战系列的最后一篇文章,该系列的文章列表如下:《RocketMQ实战(一)》《RocketMQ实战(二)》《RocketMQ实战(三):分布式事务》RocketMQ 3.2.6的事务机制在上一篇博客中,已经知道RocketMQ 3.0.8是支持事务回查机制,但是在RocketMQ 3.2.转载 2017-12-18 15:58:01 · 293 阅读 · 0 评论 -
RocketMQ 关键特性
https://yq.aliyun.com/articles/66110?spm=5176.100239.blogcont66101.20.E3WJti摘要: Apache RocketMQ之所以能在众多的消息中间件中脱颖而出,能吸引数千企业用户与RocketMQ的关键特性是分不开的,本文详细介绍RocketMQ中的关键特性。## 一、过万的单机队列数诸如Kafka之类的消息中间件,在队列转载 2017-12-18 16:08:41 · 314 阅读 · 0 评论 -
RocketMQ 关键特性
https://yq.aliyun.com/articles/66110?spm=5176.100239.blogcont66101.20.E3WJtiApache RocketMQ之所以能在众多的消息中间件中脱颖而出,能吸引数千企业用户与RocketMQ的关键特性是分不开的,本文详细介绍RocketMQ中的关键特性。一、过万的单机队列数诸如Kafka之类的消息中间件,在队列数上升转载 2017-12-18 17:39:59 · 244 阅读 · 0 评论 -
RocketMQ 客户端最佳实践
https://yq.aliyun.com/articles/66128?spm=5176.100239.blogcont66110.24.zBiqLM&accounttraceid=6b8b1378-1468-4c77-bd1e-867de6392a59本文站在消费者和生产者的角度给出一些RocketMQ客户端使用的实践意见。一、Producer最佳实践发送消息注意事转载 2017-12-18 18:17:54 · 749 阅读 · 0 评论 -
分布式开放消息系统(RocketMQ)的原理与实践
http://www.jianshu.com/p/453c6e7ff81c《分布式开放消息系统(RocketMQ)的原理与实践 - 简书》写的不错不错,收藏了。推荐下,分布式队列中间件 RocketMQ 源码解析 14 篇:http://tinyurl.com/yb7qqc8l一年前为了一次内部分享而写的这篇文章,没想到会有这么多人阅读,抽空更新一版,对文中一些晦涩的语句做了修正,删除了一些口水话...转载 2017-12-19 11:30:49 · 208 阅读 · 0 评论 -
RocketMQ原理解析-producer 1.启动流程
http://blog.csdn.net/quhongwei_zhanqiu/article/details/39141415 Producer如何感知要发送消息的broker即brokerAddrTable中的值是怎么获得的,1. 发送消息的时候指定会指定topic,如果producer集合中没有会根据指定topic到namesrv获取topic发布转载 2017-12-19 15:34:20 · 258 阅读 · 0 评论 -
RocketMQ原理解析-producer 2.如何发送消息
http://blog.csdn.net/quhongwei_zhanqiu/article/details/39142077Producer轮询某topic下的所有队列的方式来实现发送方的负载均衡1) Topic下的所有队列如何理解:比如broker1, broker2, borker3三台broker机器都配置了Topic_ABroker1 的转载 2017-12-19 15:59:36 · 248 阅读 · 0 评论 -
RocketMQ原理解析-producer 3.如何发送顺序消息
http://blog.csdn.net/quhongwei_zhanqiu/article/details/39142309Rocketmq能够保证消息严格顺序,但是Rocketmq需要producer保证顺序消息按顺序发送到同一个queue中,比如购买流程(1)下单(2)支付(3)支付成功,这三个消息需要根据特定规则将这个三个消息按顺序发送到一个queue 如何实现把顺序消转载 2017-12-19 16:16:38 · 201 阅读 · 0 评论 -
RocketMQ原理解析-producer 4.发送分布式事物消息
http://blog.csdn.net/quhongwei_zhanqiu/article/details/39142389先引入官方文档图:分布式事物是基于二阶段提交的1) 一阶段,向broker发送一条prepared的消息,返回消息的offset即消息地址commitLog中消息偏移量。Prepared状态消息不被消费发送消息ok,转载 2017-12-19 16:23:53 · 207 阅读 · 0 评论 -
RocketMQ原理解析-producer 5.消息在broker落地之普通消息
http://blog.csdn.net/quhongwei_zhanqiu/article/details/39142503Broker根据producer请求的RequestCode.SEND_MESSAGE选择对应的处理器SendMessageProcessor 根据请求消息内容构建消息内部结构MessageExtBrokerInner转载 2017-12-19 16:34:09 · 144 阅读 · 0 评论 -
RocketMQ原理解析-producer 6.消息在broker落地之事物消息
http://blog.csdn.net/quhongwei_zhanqiu/article/details/391425691. 消息落地commitLog针对事物消息的处理,消息的第20位开始的八位记录是的消息在逻辑队列中的queueoffset,但是针对事物消息为preparedType和rollbackType的存储的是事物状态表的索引偏移量2. 分转载 2017-12-19 16:59:37 · 240 阅读 · 0 评论 -
RocketMQ架构模块解析
http://wely.iteye.com/blog/2378694RocketMQ是一个分布式开放消息中间件,底层基于队列模型来实现消息收发功能。RocketMQ集群中包含4个模块:Namesrv, Broker, Producer, Consumer。Namesrv: 存储当前集群所有Brokers信息、Topic跟Broker的对应关系。Broker: 集群最核心模块,主要负转载 2018-01-04 14:11:17 · 499 阅读 · 0 评论 -
分布式消息队列RocketMQ与Kafka架构上的巨大差异之1 -- 为什么RocketMQ要去除ZK依赖?
https://blog.csdn.net/chunlongyu/article/details/54018010我们知道,在早期的RocketMQ版本中,是有依赖ZK的。而现在的版本中,是去掉了对ZK的依赖,转而使用自己开发的NameSrv。并且这个NameSrv是无状态的,你可以随意的部署多台,其代码也非常简单,非常轻量。那不禁要问了:ZooKeeper是业界用来管理集群的一个非常常用的中间件...转载 2018-05-04 18:37:15 · 1019 阅读 · 0 评论 -
RocketMQ与kafka对比(18项差异)
http://jm.taobao.org/2016/03/24/rmq-vs-kafka/淘宝内部的交易系统使用了淘宝自主研发的Notify消息中间件,使用Mysql作为消息存储媒介,可完全水平扩容,为了进一步降低成本,我们认为存储部分可以进一步优化,2011年初,Linkin开源了Kafka这个优秀的消息中间件,淘宝中间件团队在对Kafka做过充分Review之后,Kafka无限消息堆积,高效的...转载 2018-06-11 14:16:17 · 756 阅读 · 0 评论 -
Apache RocketMQ 4.2.0 在windows上安装和开发使用
1.概述RocketMQ是alibaba公司开源的一个纯java的开源消息中间件。文档:http://rocketmq.apache.org/docs/quick-start/2.开发测试环境搭建2.1 下载安装文件源码下载:https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.2.0/rocketmq-all-4.2.0-source-rel...原创 2018-06-15 19:06:17 · 1274 阅读 · 0 评论 -
RocketMQ实战(一)
http://www.jianshu.com/p/3afd610a8f7d阿里巴巴有2大核心的分布式技术,一个是OceanBase,另一个就是RocketMQ。在实际项目中已经领教过RocketMQ的强大,本人计划写一个RocketMQ实战系列,将涵盖RocketMQ的简介,环境搭建,初步使用、API详解、架构分析、管理员集群操作等知识。What is RocketMQ?RocketMQ作转载 2017-12-18 15:51:25 · 249 阅读 · 0 评论 -
RocketMQ在windows上安装和开发使用
1.概述RocketMQ是alibaba公司开源的一个纯java的开源消息中间件。2.开发测试环境搭建1. 安装&启动进入到RocketMQ下载包解压的路径下D:\machine\RocketMQ-3.0.8\RocketMQ-3.0.8>接下来安装执行下边的命令或者执行install.bat(在这个bat文件中的命令如下)对maven熟悉的一眼就知原创 2017-09-29 13:53:57 · 718 阅读 · 0 评论 -
十分钟入门RocketMQ
https://yq.aliyun.com/articles/66101?spm=5176.100239.blogcont66110.31.78a902f2qqrvSE 摘要: 本文首先引出消息中间件通常需要解决哪些问题,在解决这些问题当中会遇到什么困难,Apache RocketMQ作为阿里开源的一款高性能、高吞吐量的分布式消息中间件否可以解决,规范中如何定义这些问题。然后本文将介绍Rocket...转载 2017-11-29 11:21:25 · 563 阅读 · 0 评论 -
RocketMQ原理解析-consumer 1.启动
http://blog.csdn.net/quhongwei_zhanqiu/article/details/39142653有别于其他消息中间件由broker做负载均衡并主动向consumer投递消息,RocketMq是基于拉模式拉取消息,consumer做负载均衡并通过长轮询向broker拉消息。 Consumer消费拉取的消息的方式有两种1. Pus转载 2017-12-19 17:17:39 · 200 阅读 · 0 评论 -
RocketMQ原理解析-consumer 2.消费端负载均衡
http://blog.csdn.net/quhongwei_zhanqiu/article/details/39142693消费端负载均衡消费端会通过RebalanceService线程,10秒钟做一次基于topic下的所有队列负载 消费端遍历自己的所有topic,依次调rebalanceByTopic 根据topic获取此topic下的所有queue转载 2017-12-19 17:29:50 · 1051 阅读 · 0 评论 -
RocketMQ原理解析-consumer 3.长轮询
http://blog.csdn.net/quhongwei_zhanqiu/article/details/39142897Rocketmq的消息是由consumer端主动到broker拉取的, consumer向broker发送拉消息请求, PullMessageService服务通过一个线程将阻塞队列LinkedBlockingQueue中的PullRequest到broke转载 2017-12-19 17:44:31 · 223 阅读 · 0 评论 -
RocketMQ原理解析-consumer 4.长轮询push消息—并发消费消息
http://blog.csdn.net/quhongwei_zhanqiu/article/details/39143213通过长轮询拉取到消息后会提交到消息服务ConsumeMessageConcurrentlyService,ConsumeMessageConcurrentlyServic的submitConsumeRequest方法构建ConsumeRequest任务提交到线程转载 2017-12-20 15:48:55 · 350 阅读 · 0 评论 -
RocketMQ原理解析-consumer 5.push消费-顺序消费消息
http://blog.csdn.net/quhongwei_zhanqiu/article/details/39143755顺序消费服务ConsumeMessageConcurrentlyService构建的时候 构建一个线程池来接收消费请求ConsumeRequest 构建一个单线程的本地线程,用来稍后定时转载 2017-12-20 15:50:45 · 300 阅读 · 0 评论 -
RocketMQ原理解析-consumer 6.pull消息消费
http://blog.csdn.net/quhongwei_zhanqiu/article/details/39143899消费者主动拉取消息消费,客户端通过类DefaultMQPullConsumer 客户端可以指定特定MessageQueue 也可以通过DefaultMQPullConsumer.fetchMessageQueuesInBa转载 2017-12-20 15:52:02 · 276 阅读 · 0 评论 -
RocketMQ原理解析-consumer 7.shutdown
http://blog.csdn.net/quhongwei_zhanqiu/article/details/39143993DefaultMQPushConsumerImpl 关闭消费端 关闭消费线程 将分配到的Set的消费进度保存到broker利用DefaultMQPushConsumerImpl获取ProcessQueueTable的ke转载 2017-12-20 15:53:06 · 562 阅读 · 0 评论 -
RocketMQ原理解析-broker 1. broker的启动
http://blog.csdn.net/quhongwei_zhanqiu/article/details/39144105brker的启动Broker向namesrv注册1. 获取namesrv的地址列表(是乱序的)2. 遍历向每个namesrv注册topic的配置信息topicconfigTopic在broker文件上的存储json转载 2017-12-20 15:54:06 · 1384 阅读 · 0 评论 -
RocketMQ原理解析-broker 2.消息存储
http://blog.csdn.net/quhongwei_zhanqiu/article/details/39144223Rocketmq的消息的存储是由consume queue和 commitLog 配合完成的1) consume queue 消息的逻辑队列,相当于字典的目录用来指定消息在消息的真正的物理文件commitLog上的位置,每个topic下的每个queue都有转载 2017-12-20 15:55:39 · 246 阅读 · 0 评论 -
RocketMQ原理解析-broker 3.load&recover
http://blog.csdn.net/quhongwei_zhanqiu/article/details/39144325Broker启动的时候需要加载一系列的配置,启动一系列的任务,主要分布在BrokerController 的initialize()和start()方法中1. 加载topic配置2. 加载消费进度consumer offset 3.转载 2017-12-20 15:56:35 · 244 阅读 · 0 评论 -
RocketMQ原理解析-broker 4.HA & master slave
http://blog.csdn.net/quhongwei_zhanqiu/article/details/39144469在broker启动的时候BrokerController如果是slave,配置了master地址更新,没有配置所有broker会想namesrv注册,从namesrv获取haServerAddr,然后更新到HAClient 当HAClient的MasterA转载 2017-12-21 18:16:21 · 580 阅读 · 0 评论 -
RocketMQ原理解析-broker 6.索引服务
http://blog.csdn.net/quhongwei_zhanqiu/article/details/391531951索引结构IndexFile 存储具体消息索引的文件,文件的内容结构如图:索引文件由索引文件头IndexHeader, 槽位Slot和消息的索引内容三部分构成 IndexHeader:索引文件头信息40个字节的数据组成转载 2017-12-21 18:17:41 · 214 阅读 · 0 评论 -
RocketMQ原理解析-namesrv
http://blog.csdn.net/quhongwei_zhanqiu/article/details/39153465Namesrv名称服务,是没有状态可集群横向扩展。1. 每个broker启动的时候会向namesrv注册2. Producer发送消息的时候根据topic获取路由到broker的信息3. Consumer根据topi转载 2017-12-21 18:19:25 · 288 阅读 · 0 评论 -
RocketMQ原理解析-Remoting2. 通信层底层传输协议
http://blog.csdn.net/quhongwei_zhanqiu/article/details/39154155RocketMq服务器与客户端通过传递RemotingCommand来交互,通过NettyDecoder,对RemotingCommand进行协议的编码与解码 协议格式 1 2 3转载 2017-12-21 18:20:20 · 262 阅读 · 0 评论 -
RocketMQ原理解析-Remoting3.通信层整体交互图
http://blog.csdn.net/quhongwei_zhanqiu/article/details/39154265转载 2017-12-21 18:21:34 · 305 阅读 · 0 评论 -
RocketMQ在windows环境下的安装
原博地址:https://www.jianshu.com/p/4a275e779afa一.预备环境1.系统 Windows2. 环境 JDK1.8、Maven、Git 二. RocketMQ部署1.下载1.1地址:http://rocketmq.apache.org/release_notes/release-notes-4.2.0/1.2选择‘Binary’进行下载1...转载 2018-06-20 11:50:03 · 4951 阅读 · 1 评论