RocketMQ简介

Notify(2007)--->Napoli(2010)--->MetaQ(2011)--->RocketMQ(2012)

第一代的Notify主要使用了推模型,解决了事务消息。

第二代的MetaQ主要使用了拉模型,解决了顺序消息和海量堆积。

RocketMQ基于长轮询的拉取方式,兼有两者的优点。

Start Name Server(先):

$ nohup sh bin/mqnamesrv &
$ tail -f ~/logs/rocketmqlogs/namesrv.log

Start Broker(后):

$ nohup sh bin/mqbroker -n localhost:9876 &
$ tail -f ~/logs/rocketmqlogs/broker.log

Shutdown Broker:

$ sh bin/mqshutdown broker

Shutdown Name Server:

$ sh bin/mqshutdown namesrv

启动时注意修改RocketMQ初始配置,因为默认配置文件初始内存设置的太大了:

将bin目录下的runbroker.sh中第一个JAVA_OPT改成JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m";

将bin目录下的runserver.sh中第一个JAVA_OPT改成JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx256m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

命令行创建topic:

$ sh bin/mqadmin updateTopic -n ip:9876 -b ip:10911 -t TopicTest

 $ sh bin/mqadmin help updateTopic:

 -b,--brokerAddr <arg>       create topic to which broker

 -c,--clusterName <arg>      create topic to which cluster

 -h,--help                   Print help

 -n,--namesrvAddr <arg>      Name server address list, eg: 192.168.0.1:9876;192.168.0.2:9876

 -o,--order <arg>            set topic's order(true|false)

 -p,--perm <arg>             set topic's permission(2|4|6), intro[2:W 4:R; 6:RW]

 -r,--readQueueNums <arg>    set read queue nums

 -s,--hasUnitSub <arg>       has unit sub (true|false)

 -t,--topic <arg>            topic name

 -u,--unit <arg>             is unit topic (true|false)

 -w,--writeQueueNums <arg>   set write queue nums

原文地址:https://www.cnblogs.com/i-hard-working/p/11925499.html