[RocketMQ] Quick-Start

[RocketMQ] Quick-Start

Goal

  • RocketMQ란 무엇인가
  • RocketMQ 설치 및 간단한 테스트


RocketMQ

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

RocketMQ Architecture


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

RocketMQ Architecture
RocketMQ Architecture


2. Setup environment variables

$ vi ~/.profile
[edit]
$ . ~/.profile

RocketMQ Architecture
RocketMQ Architecture

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]

RocketMQ Architecture
RocketMQ Architecture


3.2 Start Name Server in background

$ nohup mqnamesrv > $ROCKETMQ_HOME/log/mqnamesrv.log  2>&1 &
$ tail -f $ROCKETMQ_HOME/log/mqnamesrv.log

RocketMQ Architecture


4. Start Broker Server

$ nohup mqbroker > $ROCKETMQ_HOME/log/mqbroker.log  2>&1 &
$ tail -f $ROCKETMQ_HOME/log/mqbroker.log

RocketMQ Architecture


4.1. Run Error -> Edit JVM Options

$ vi $ROCKETMQ_HOME/bin/runbroker.sh
[Edit : Optimize memory size in your system]

RocketMQ Architecture
RocketMQ Architecture


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

RocketMQ Architecture


6. Shutdown

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

RocketMQ Architecture


References

댓글남기기

-->