Reliable Message Bus Based on
Apache RocketMQ
Eason Chen
©2017 Apache RocketMQ
PROFILE
Familiar with distributed system
design ,develop and performance tuning,
especially in messaging system, cloud
computing, bigdata etc.
Software craftsman, engineer at webank.
Open source fanatic, Apache RocketMQ
Contributor.
Eason Chen, Email: daerduochen@sina.com
CONTENTS
01What	is	RMB
02Why	RocketMQ
03What	we	need
04How	we	did
05The Future
©2017 Apache RocketMQ
01What is RMB
©2017 Apache RocketMQ
What is RMB
Reliable	Message	Bus
For	thousands	of	micro	services
In	Finance	scenario	
reticulation
Applications
Applications
Applications
bus
Applications
Applicatiions
Applications
©2017 Apache RocketMQ
02Why RocketMQ
©2017 Apache RocketMQ
Why RocketMQ
Open	Source,easily	redevelope
Reliable,proved	in	production
Community	activity,	easily	get	help
©2017 Apache RocketMQ
03What we need
©2017 Apache RocketMQ
RMB Architecture
Applications
RMB CLIENT
RocketMQ
Client
RMB Broker
RocketMQ
Broker
RMB
Applications
Applicatiions
RMB Namesrv
RocketMQ
Namesrv
©2017 Apache RocketMQ
RMB trace Architecture
RocketMQ
Log-importer
ElasticSearch
Hbase
Applicatiions
log-info	
topic
log-error	
topic
Log-viewer
Spark Opentsdb
©2017 Apache RocketMQ
RMB Feature design
• UniqueCast
• MultiCast
• BroadCast
• Request-Response
• Gray	release
• Circuit	break
• Graceful	shutdown
• Message	live	time
• Disaster	tolerance	in	the	same	city
• Proxy
• Message	relay
• Log	trace
©2017 Apache RocketMQ
04How we did
©2017 Apache RocketMQ
RPC(Request-Response)
RMB Broker
RMB
Client
(Send)
RMB
Client
(Reply)
Send
Message
Processor
Pull
Message
Processor
pushReply
Message
Processor
sendReply
Message
Processor
request
response
DISK
©2017 Apache RocketMQ
Deployment
Master Master Master
Master Master
Slave Slave
Asyn Cluster
Sync Cluster
Master
Slave
©2017 Apache RocketMQ
Gray release
broker
client1 client2 client3
0 1 2 3
client4
Old instance
New instance
topic1
0 1
topic2
2 3
©2017 Apache RocketMQ
Circuit breaker
broker
client1 client2 client3
0 1 2
topic
client
Depth of queue is full
©2017 Apache RocketMQ
Disaster tolerance in the same city
APP
IDC1 IDC2 IDC3
Cluster
APP
APP
Cluster
APP
APP
Cluster
APP
©2017 Apache RocketMQ
05The Future
©2017 Apache RocketMQ
The Future
• Rocketmq to	hbase/elasticsearch
• Non-persistent	message
• Namesrv consistency
• Broker	HA	switch
• RPC
• Service	governance
THANKS!
Apache RocketMQ

2.2 Reliable Message Bus based on RocketMQ