- 为什么看rocketmq
rocketmq也是纯java开发,并且rocketmq的设计思路也参考了kafka,java程序员学习起来相对容易些。
-
参考文档
源码地址: gitee.com/apache/rock…
代码版本: 4.9.0(下载并切换分支,可以直接编译)
-
rocketmq包含4个部分
-
name server, 提供路由信息,管理broker;
-
broker, 提供 topic 和 queue 机制保存消息;负责消息存储和发送;
-
producers, 消息生产者;
-
consumers, 消息消费者;
-
-
代码运行起来
代码编译成功后,就可以参考文档运行起来 rocketmq.apache.org/docs/quick-… 消费者接收到消息表示成功
-
如果代码运行成功可以忽略此部分
-
使用idea打开工程,并切换到tag 4.9.0,等待编译完成
-
找到 org.apache.rocketmq.namesrv.NamesrvStartup, 配置 Environment variables:ROCKETMQ_HOME=rocketmq工程下的distribution路径, 然后运行;
-
找到 org.apache.rocketmq.broker.BrokerStartup, 配置 Program arguments:-n localhost:9876, 配置 Environment variables:ROCKETMQ_HOME=rocketmq工程下的distribution路径, 然后运行;
-
找到 org.apache.rocketmq.example.quickstart.Producer, 配置 Environment variables:NAMESRV_ADDR=localhost:9876 然后运行,可以在控制台看到发送消息的日志;
-
找到 org.apache.rocketmq.example.quickstart.Consumer, 配置 Environment variables:NAMESRV_ADDR=localhost:9876 然后运行;可以在控制台看到接收消息的日志;
-
至此,rocketmq源码环境成功的运行起来了。