美文网首页
RocketMQ学习笔记

RocketMQ学习笔记

作者: 云师兄 | 来源:发表于2018-12-06 10:54 被阅读7次

    RocketMQ

    RocketMQ 概念模型

    • Producer:消息生产者,负责产生消息,一般由业务系统负责产生消息
    • Consumer:消息消费者,负责消费消息,一般由后台系统负责异步消费
    • Push Consumer:Consumer的一种,需要向Consumer对象注册监听
    • Pull Consumer:Consumer的一种,需要主动请求Broker拉取消息
    • Producer Group:生产者集合,一般用于发送一类消息
    • Consumer Group:消费者集合,一般用于接收一类消息进行消费
    • Broker:MQ消息服务器(中转消息,用于消息存储与生产消费转发)
    • NameServer:管理Broker,接受Broker的register和unregister

    理解:类比于生活中的邮件系统,生产者相当于发信人,消费者相当于收信人,Broker相当于负责暂存和传输的邮局。NameServer则是负责协调各个地方邮局的管理机构。启动RocketMQ的顺序是先启动NameServer,再启动Broker,这时消息队列就已经可以提供服务了。

    源码结构

    在apache rocketmq官网:http://rocketmq.apache.org/docs/quick-start/ 下载源码包后,可以看到结构如下:

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

    参照官网的quickstart进行编译:mvn -Prelease-all -DskipTests clean install -U,编译后就可以参照官网运行mq的nameserver和broker了。这里要注意的是:由于我的电脑是Mac,在/User/我的名字/目录下,产生了logs和stores两个新的文件夹。

    相关文章

      网友评论

          本文标题:RocketMQ学习笔记

          本文链接:https://www.haomeiwen.com/subject/vyygcqtx.html