文档章节

rocketmq之源码分析阶段总结(二十一)

wangshuaixin
 wangshuaixin
发布于 06/27 14:09
字数 542
阅读 6
收藏 0

RocketMQ是队列模型的消息中间件,具有高性能,高可靠,高实时,分布式的特点。同时支持分布式事物的两阶段提交,实现在分布式环境的事物操作。

1,nameserv是分布式的部署,并且相互之间不通信,单个的宕机或增加对整体的影响较小,可以忽略。

2,broker是分布式的高性能实现,提供根据业务特点选择的数据同步及落盘机制,确保数据的完整及一致性

3,producer,consumer都可以是分布式,根据topic及过滤表达式定义适合业务的发送及消费机制

4,数据结构是基于自定义的高效二进制,数据存取以offset偏移位置进行高速高效的读写,提供顺序写,随机读的特性

5,通信协议,底层基于java的nio框架netty的通信,自定义协议,消息头和消息体的自定义二进制序列化存取

 

提供的整体操作流程,主要是说明问题

1,启动nameserv,无状态服务,数据不会持久化,以内存结构存储,服务启动接收请求进行数据存取,服务关闭则数据清空

2,启动broker,加载历史数据,该服务会持久化数据及数据关系配置,然后注册当前服务的数据配置到namesrv上

3,producer启动,首先是连接namesrv,获得broker的数据配置信息,然后连接broker,根据功能进行消息数据的发送

4,consumer启动,首先是连接namesrv,获得broker的数据配置信息,然后根据订阅的数据链接broker,进行网络通信实时数据拉取

© 著作权归作者所有

wangshuaixin

wangshuaixin

粉丝 20
博文 52
码字总数 61196
作品 1
海淀
架构师
私信 提问
RocketMQ源码分析之从官方示例窥探:RocketMQ事务消息实现基本思想

摘要: RocketMQ源码分析之从官方示例窥探RocketMQ事务消息实现基本思想。 RocketMQ4.3.0版本开始支持事务消息,后续分享将开始将剖析事务消息的实现原理。首先从官方给出的Demo实例入手,以...

阿里云云栖社区
01/08
0
0
RocketMQ事务消息实现分析

这周RocketMQ发布了4.3.0版本,New Feature中最受关注的一点就是支持了事务消息: 今天花了点时间看了下具体的实现内容,下面是简单的总结。 RocketMQ事务消息概要 通过冯嘉发布的《RocketM...

杭州.Mark
2018/08/07
0
0
北京社区 | Apache RocketMQ 首届开发者训练营

时间:2019.06.29(周六) 18:00-21:00 地点:北京市海淀区中关村大街46号院 北京众海投资-东门(人民大学地铁站A2出口附近) 每位到场开发者都可获得极客时间99元课程卡 课程目的 掌握Rocke...

ApacheRocketMQ社区
06/22
0
0
消息中间件—RocketMQ的RPC通信(一)

文章摘要:借用小厮的一句话“消息队列的本质在于消息的发送、存储和接收”。那么,对于一款消息队列来说,如何做到消息的高效发送与接收是重点和关键 一、RocketMQ中Remoting通信模块概览 ...

癫狂侠
2018/06/30
0
0
《RocketMQ技术内幕:RocketMQ架构设计与实现原理》一导读

内容介绍 本书由RocketMQ社区早期的布道者和技术专家撰写,Apache RocketMQ创始人/Linux OpenMessaging创始人兼主席/Alibaba Messaging开源技术负责人冯嘉对其高度评价并作序推荐。 源码角度...

小编辑01
01/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

适合钱包应用开发的ERC20代币数据集

Erc20Tokens数据集包含超过1000种主流的以太坊ERC20代币的描述数据清单和图标,可用于钱包等区块链应用的开发,支持使用Java、Python、Php、NodeJs、C#等各种开发语言查询主流ERC20代币的相关...

汇智网教程
42分钟前
1
0
micro微服务 基础组件的组织方式

micro微服务 基础组件的组织方式 简介 micro是go语言实现的一个微服务框架,该框架自身实现了为服务常见的几大要素,网关,代理,注册中心,消息传递,也支持可插拔扩展。本本通过micro中的一...

魂祭心
今天
4
0
简单的博客系统(三)使用Django的后台管理功能

Django新建项目和应用后,自带有后台管理功能,可直接使用 创建后台管理员账户 (demosite) E:\PycharmProjects\demosite>python manage.py createsuperuserUsername: adminEmail address:...

ZeroBit
今天
3
0
The /usr/local/mysql/data directory is not owned by the 'mysql' to '_mysql' user

20190720 经过前两天折腾环境,重装了 apache 和 mysql 之后,今天调试程序是突然发现,本机的 mysql 起不来了! 在启动面板上,显示有这样一行小字 (抱歉!光顾着解决问题,没有记录下来图片...

wwzzhh166
今天
4
0
centos安装增强功能出现kernel headers not found for target kernel解决办法

最近新安装一个centos虚拟机,在安装增强功能的时候出现了,kernel headers not found for target kernel的错误。特记下我的解决方案。 1.update kernel yum update kernel -y 2.Install the...

mbzhong
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部