12. WHY MQ ?
SERVICE A SERVICE B
SERVICE E SERVICE D
REQUEST
SERVICE C
▸ MQ
12
13. WHY MQ ?
SERVICE A SERVICE B
REQUEST
SERVICE E SERVICE D SERVICE C
DATA
REQUEST ”REQUEST ”
13
▸ MQ
14. WHY MQ ?
SERVICE A SERVICE B
REQUEST
SERVICE E SERVICE D SERVICE C
DATA
IF THIS IS STOPPED...
WHAT SHOULD IT DO ..?
REQUEST ”REQUEST ”
14
▸ MQ
15. WHY MQ ?
SERVICE A SERVICE B
REQUEST
SERVICE E SERVICE D SERVICE C
DATA
SERVICE F
A NEW SERVICE IS APPEARED !!
REQUEST ”REQUEST ” WHAT SHOULD IT DO ..??
15
▸ MQ
17. WHY MQ ?
SERVICE A SERVICE B
MQ
SERVICE C
▸ MQ
SERVICE E SERVICE D
REQUEST REQUEST
17
18. WHY MQ ?
SERVICE A SERVICE B
MQ
SERVICE E SERVICE D SERVICE C
▸ MQ
DATA
REQUEST ”REQUEST ”
REQUEST REQUEST
REQUEST ”
18
19. WHY MQ ?
SERVICE A SERVICE B
MQ
SERVICE E SERVICE D SERVICE C
▸ MQ
19
DATA
REQUEST REQUEST
REQUEST ”
IF THIS IS STOPPED...
REQUEST ”REQUEST ”
OK, NO PROBLEM
20. WHY MQ ?
SERVICE A SERVICE B
MQ
SERVICE E SERVICE D SERVICE C
▸ MQ
20
DATA
REQUEST ”REQUEST ”
REQUEST REQUEST
REQUEST ”
SERVICE F
REQUEST ”
A NEW SERVICE IS APPEARED !!
OK, NO PROBLEM
52. MQTT
52FEATURE
▸
- MQTT HTTP
(publish data to the topic ‘hoge’)
(Fixed Header)
(Variable Header)
(POST data to
‘http://hoge.fuga.com/hoge')
POST /hoge HTTP/1.1n
Host: hoge.fuga.comn
Content-Type: application/octet-streamn
Content-Length: 100n
n
53. MQTT
53FEATURE
▸
- MQTT HTTP
(publish data to the topic ‘hoge’)
(Fixed Header)
(Variable Header)
(POST data to
‘http://hoge.fuga.com/hoge')
POST /hoge HTTP/1.1n
Host: hoge.fuga.comn
Content-Type: application/octet-streamn
Content-Length: 100n
n
10 BYTES 101 BYTES
84. Consumer group B
KAFKA
84FEATURE
Kafka’s CASE
Partition-1
M1M4
Partition-2
M2M3
CONSUMER A
CONSUMER B
CONSUMER C
Consumer group A
▸ / strong ordering guarantees
Queue
85. Consumer group B
KAFKA
85FEATURE
Kafka’s CASE
Partition-1
M1M4
Partition-2
M2M3
CONSUMER A
CONSUMER B
CONSUMER C
Consumer group A
▸ / strong ordering guarantees
Queue
Partition
Consumer Group
Consumer Group
86. Consumer group B
KAFKA
86FEATURE
Kafka’s CASE
Partition-1
M1
Partition-2
CONSUMER A
CONSUMER B
CONSUMER C
Consumer group A
M1
M2
M1M4
M2M3
▸ / strong ordering guarantees
Queue
87. Consumer group B
KAFKA
87FEATURE
Kafka’s CASE
Partition-1
Partition-2
CONSUMER A
CONSUMER B
CONSUMER C
Consumer group A
M4M1M4
M2M3
▸ / strong ordering guarantees
Queue
M2
M2
88. Consumer group B
KAFKA
88FEATURE
Kafka’s CASE
Partition-1
▸ / strong ordering guarantees
Partition-2
CONSUMER A
CONSUMER B
CONSUMER C
Consumer group A
M1M4
M2M3
M4
M2
M2
89. Consumer group B
KAFKA
89FEATURE
Kafka’s CASE
Partition-1
▸ / strong ordering guarantees
Partition-2
CONSUMER A
CONSUMER B
CONSUMER C
Consumer group A
M1M4
M2M3
M4
M2
M2
90. Consumer group B
KAFKA
90FEATURE
Kafka’s CASE
Partition-1
▸ / strong ordering guarantees
Partition-2
CONSUMER A
CONSUMER B
CONSUMER C
Consumer group A
M1M4
M2M3
M4
M2
M2
“ Queue ”
91. Consumer group B
KAFKA
91FEATURE
Kafka’s CASE
Partition-1
▸ / strong ordering guarantees
Partition-2
CONSUMER A
CONSUMER B
CONSUMER C
Consumer group A
M1M4
M2M3
M4
M2
M2
“ Partition ”
“ Queue ”
92. Consumer group B
KAFKA
92FEATURE
Kafka’s CASE
Partition-1
▸ / strong ordering guarantees
Partition-2
CONSUMER A
CONSUMER B
CONSUMER C
Consumer group A
M1M4
M2M3
(Partition-1) M1 > M4
(Partition-2) M2 > M3
“ Partition ”
“ Queue ”
M4
M2
M2
93. Consumer group B
KAFKA
93FEATURE
Kafka’s CASE
Partition-1
Partition-2
CONSUMER A
CONSUMER B
CONSUMER C
Consumer group A
M4
M4
M3
M3
M1M4
M2M3
Scalable
( COND: Number of Consumer Process ≦ Count of Partition )
▸ / strong ordering guarantees
Queue
97. CASE: SENSU
97
▸ Scalability for Pub/Sub
▸ Load leveling for Queuing
HOW MOM USE?
(Source SENSU | SENSU Architecture)
98. CASE: OPENSTACK
98HOW MOM USE?
▸ Scalability and High Availability for RPC over MQ
NOVA SCHEDULERNOVA CONDUCTOR
NOVA COMPUTENOVA COMPUTENOVA COMPUTENOVA COMPUTE
HTTP
NOVA APICLIENT
RPC (Remote Procedure Call)
(see also AMQP and NOVA - OpenStack Docs)
99. CASE: IBM
99
▸ Less Traffic & Scalability for IoT Cloud Platform
HOW MOM USE?
IBM IoT Foundation
(MQTT Frontend)
IBM Bluemix
(PaaS)
APPLICATION
Devices
THE INTERNET
APPLICATION
WEBSPHERE MQ
APPLICATION
MQTT
(see also IBM Bluemix - Watson Internet of Things Platform)