RocketMQ是阿里开发的低延迟、高并发、高可用、高可靠的分布式消息中间件。作为阿里双十一交易的核心链路指定产品,支持千万级并发、亿级消息堆积、万亿级数据洪峰。
优势
•稳定性: 多可用区、分布式集群部署,确保服务高可用;同步双写、多副本数据冗;经历过多年双十一的持续考验•高性能: 亿级消息堆积下,始终保持高性能正常服务•丰富的消息类型: 消息类型丰富,支持普通消息、顺序消息、分布式事务消息、定时延时消息•安全访问控制: 以消息主题、订阅组的粒度,对每一条消息都有严格的访问控制
使用场景
•异步解耦•削峰填谷•顺序消息•分布式事务消息•大数据分析
核心概念
•Broker: 负责消息的存储和传递•NameServer: 为整个MQ集群提供服务协调与治理,几乎无状态节点,可集群部署•topic: 消息主题,一级消息类型,通过Topic对消息进行分类•分区: 即Topic Partition,物理上的概念。每个 Topic 包含一个或多个分区。•Message ID: 消息的全局唯一标识,由消息队列 RocketMQ 版系统自动生成,唯一标识某条消息•Message Key: 消息的业务标识,由消息生产者(Producer)设置,唯一标识某个业务逻辑•Tag: 消息标签,二级消息类型,用来进一步区分某个Topic下的消息分类
架构流程图
引用网络上一幅简要架构图,可以很清晰的明了各个不同模块在其中的作用
DOCKER部署(单机)
1.拉取镜像
$ docker seach rocketmq$ docker pull rocketmqinc/rocketmq:4.4.0
2.启动容器
$ docker run -d -p 9876:9876 --name rmqnamesrv -e "MAX_POSSIBLE_HEAP=100000000" rocketmqinc/rocketmq:4.4.0 sh mqnamesrv
3.访问,http://ip:9876/ ,进入RocketMQ 控制台
总结
本文简单描述了RocketMQ的一些基本概念以及尝试使用DOCKER进行搭建,后续的一些文章都会通过Rocket各方面的一些功能特性进行展开;此笔记仅为个人学习记录笔记,如有错误或者其它不适内容,还请见谅。