- 낮은 latency와 고성능으로 분산 메시징과 스트리밍 처리를 제공하는 플랫폼이다. 메시지의 신뢰성을 보장하고, 조 단위의 처리량과 유연한 확장성을 자랑한다.
- 알리바바가 2012년부터 다량의 메시지를 처리하기 위해서, Apache ActiveMQ 5.13 버전 기반에서 분산 아키텍처를 도입하여 개발하기 시작했다. 2016년 11월에 알리바바가 Apache 재단에 danation 하고, 2017년 2월에 Apache Top-Level 프로젝트로 선정되었다.

1. Download install file and unzip
Prerequisite :64bit OS, Linux/Unix/Mac is recommended;
64bit JDK 1.8+;
Maven 3.2.x;
Git;
4g+ free disk for Broker server
$ wget http://mirror.navercorp.com/apache/rocketmq/{version}/rocketmq-all-{version}-bin-release.zip $ unzip rocketmq-all-{version}-bin-realase.zip


2. Setup environment variables
$ vi ~/.profile [edit] $ . ~/.profile
export ROCKETMQ_HOME=[installed_directory]
export PATH=$PATH:$ROCEKTMQ_HOME/bin
export NAMESRV_ADDR={host}:{port} # for Name server connector address


3. Startup Name Server

3.1. Run Error -> Edit JVM Options
$ vi $ROCKETMQ_HOME/bin/runserver.sh [Edit : Optimize memory size in your system]

3.2 Start Name Server in background
$ nohup mqnamesrv > $ROCKETMQ_HOME/log/mqnamesrv.log 2>&1 & $ tail -f $ROCKETMQ_HOME/log/mqnamesrv.log

4. Start Broker Server
$ nohup mqbroker > $ROCKETMQ_HOME/log/mqbroker.log 2>&1 & $ tail -f $ROCKETMQ_HOME/log/mqbroker.log

4.1. Run Error -> Edit JVM Options
$ vi $ROCKETMQ_HOME/bin/runbroker.sh [Edit : Optimize memory size in your system]


5. Test Message Produce/Consume
5.1. Start Producer
$ sh $ROCKETMQ_HOME/bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

5.2. Start Consumer
$ sh $ROCKETMQ_HOME/bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

6. Shutdown
# Shutdown Broker $ mqshutdown broker # Shutdown Name Server # mqshtudown namesrv

References
RocketMQ TutorialRocketMQ WiKi