You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
土豆兄弟 8b18ad82f1 [新增功能](master): git配置
增加了git上传大文件支持
2 years ago
..
.gitattributes [新增功能](master): git配置 2 years ago
README.md [新增功能](master): 文档更新 2 years ago
RocketMQ使用手册.pdf [新增功能](master): 文档更新 2 years ago
RocketMQ用户指南v3.2.4.pdf [新增功能](master): 文档更新 2 years ago

README.md

RocketMQ

1. RocketMQ 基础

1.1 整体介绍

  • RocketMQ是一款分布式、队列模型的消息中间件
  • 特性:
    • 支持分布式事物
    • 支持集群模型、负载均衡、水平扩展能力
    • 亿级别的消息堆积能力
    • 采用零拷贝的原理、顺序写盘、随机读
    • 丰富的API封装
    • 代码优秀底层通信框架采用Netty NIO框架
    • NameServer代替Zookeeper
    • 集群无单点,可扩展,任意一点高可用,水平可扩展
    • 消息失败重试机制,消息可查询
    • 开源社区活跃、成熟度(经过双十一考验)

1.2 概念模型

  • Producer: 消息生产者,负责生产消息,一般由业务系统负责产生消息

  • Consumer: 消息消费者,负责消费消息,一般是后台系统负责异步消费
    • Push Consumer: Consumer的一种, 需要向Consumer对象注册监听
    • Pull Consumer: Consumer的一种, 需要主动请求Broker拉取消息

  • Producer Group: 生产者集合, 一般用于发送一类消息
  • Consumer Group: 消费者集合, 一般用于接收一类消息进行消费

  • Broker: MQ消息服务(中转角色, 用于消息存储与生产消费转发)
  • Message: TODO

1.3 源码工程讲解

  • 编译完成的文件在 rocket-distribution/target/ 下
  • RocketMQ的源码结构
    • rocketmq-broker: 主要的业务逻辑, 消息收发, 主从同步, pagecache
    • rocketmq-client: 客户端接口, 比如生产者和消费者
    • rocketmq-example: 示例, 比如生产者和消费者
    • rocketmq-common: 公用数据结构等等
    • rocketmq-distribution: 编译模块, 编译输出等
    • rocketmq-filter: 进行Broker过滤的不感兴趣的消息传输,减小带宽压力
    • rocketmq-logappender, rocketmq-logging 日志相关
    • rocketmq-namesrv Namesrv服务, 用于服务协调
    • rocketmq-openmessaging 对外提供服务
    • rocketmq-remoting 远程调用接口, 封装Netty底层通信
    • rocketmq-util 提供一些公用的工具方法, 比如解析命令行参数
    • rocketmq-store 消息存储
    • rocketmq-test
    • rocketmq-tools 管理工具, 比如有名的mqadmin工具

1.4 环境搭建

  • 参考 RocketMQ使用手册.pdf
  • ps: 内存大小至少也要1GB
  • ps: 先启动NameSrv 再启动Broker
  • ps: 测试使用1个配置文件即可

1.5 RocketMQ 控制台使用

2. RocketMQ 生产者核心研究

3. RocketMQ 消费者核心研究

4. RocketMQ 核心原理研究

5. 双主双从部署

6. 购物车、订单与支付场景抗压实战 -> 可以移步到

7. RocketMQ分布式事务消息

8. RocketMQ顺序消费与微服务解耦

9. 数据过滤与性能提升