美文网首页RocketMQRocketMQ
RocketMQ源码阅读(一)-调试环境搭建

RocketMQ源码阅读(一)-调试环境搭建

作者: _呆瓜_ | 来源:发表于2017-03-30 00:49 被阅读716次

    最近想深入学习一下消息队列, 本来想看kafka的源码, 但由于kafka是scala写的,本人又不懂kafaka,最终选择了阿里的RocketMQ. RocketMQ是基于kafka的原理构建的, 又根据阿里自身的需求进行了修改. 下文根据RocketMQ官方文档, 搭建RocketMQ的开发环境.

    先决条件

    首先需要下列软件:
    1.64bit OS, Linux/Unix/Mac is recommended;
    2.64bit JDK 1.7+;
    3.Maven 3.2.x
    4.Git

    Clone & Build

    > git clone https://github.com/apache/incubator-rocketmq.git
    > cd incubator-rocketmq
    > mvn clean package install -Prelease-all assembly:assembly -U
    > cd target/apache-rocketmq-all/
    

    target/apache-rocketmq-all目录下的文件就是RocketMQ的所有安装文件. 将apache-rocketmq-all拷贝到/usr/install(本人安装软件的目录)目录下就完成了安装.

    下面是官网提供的quick start.

    Start Name Server

    > nohup sh bin/mqnamesrv &
    > tail -f ~/logs/rocketmqlogs/namesrv.log
    The Name Server boot success...
    

    Start Broker

    > nohup sh bin/mqbroker -n localhost:9876 &
    > tail -f ~/logs/rocketmqlogs/broker.log 
    The broker[%s, 172.30.30.233:10911] boot success...
    

    由于broker不会使用loopback的地址,因此必须确保loopback连入了某个网络(我们认为是局域网就行).

    发送&&接收消息

    为了收发消息客户端必须知道name servers的地址, RocketMQ提供了多种方式获取name servers的地址, 下面是使用环境变量的方式:

    > export NAMESRV_ADDR=localhost:9876
    > sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
    SendResult [sendStatus=SEND_OK, msgId= ...
    
    > sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
    ConsumeMessageThread_%d Receive New Messages: [MessageExt...
    

    Shutdown Servers

    > sh bin/mqshutdown broker
    The mqbroker(36695) is running...
    Send shutdown request to mqbroker(36695) OK
    
    > sh bin/mqshutdown namesrv
    The mqnamesrv(36664) is running...
    Send shutdown request to mqnamesrv(36664) OK
    

    搭建IDEA集成开发环境

    用IDEA引入incubator-rocketmq项目, 即可完成集成开发环境的搭建, 非常方便.

    IDEA集成开发环境

    参考文档:
    https://rocketmq.incubator.apache.org/docs/quick-start/

    相关文章

      网友评论

      本文标题:RocketMQ源码阅读(一)-调试环境搭建

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