SlideShare a Scribd company logo
1 of 29
RabbitMQ Model and Some
Example Applications
houcheng@gmail.com
CCMA ITRI
Outline
•
•
•
•

RabbitMQ model and standard
Simplified message queue model
3 example code
5 real case studies
RabbitMQ Model
s1

C1

tmp1: private

(Distribution)
s2

direct
exchange

C2

q1: ! private

key: q1
reply-to: tmp1
cor-id: 1

s3

key1
q3:

fan-out
key1

q4:

to: fan-out
key:key1

topic
exchange

C3

STK.US.*
STK.IND.*

STK.US.* AND
type == pdf
to: topic
key: STK.US.C

filter
exchange

q5:
!durable

q6:

s4

(Fan-out)
Notations in RabbitMQ Model
s4

application
thread

virtual
host

TCP
connection

exchange

channel

binding

message

queue
consuming
RabbitMQ Model
• Virtual Host
• Exchange
– direct
– fan-out
– topic

• Binding
– topic
– cascading
– message select

• queue
– flags: private, durable

• Connection
– channel: every thread work
with one channel

• Message
– content header
• Properties: Reply-To, Cor-Id,
Message-Id, Key
• queue server may add
properties , wont remove/
modify

– content body (wont modify)
• binary/ file/ stream

• Application
– client/ server
Other Items in AMQP 0.8,
not included in Model
– AMQP transaction – deliver ACK to sender after
message received
– AMQP distributed transaction – deliver ACK to a
3rd party software after message received
– Access – a realm based access control model

we think these are irrelevant to ADDM
transaction detection
Simplified Message Queue Model
C1

s1

send rpc:q1.1
rpc

q1.*
s2

reply-to: tmp1
cor-id: (2)

q2.*
tmp1

C2

rpcresult

send update:q34

s3
update

q34

cor-id: 2

(Distribution)

s4

s5

rpc

q5

(Fan out)
s6

q5

queue server
Model Notation
C1

queue server

application thread

$name

exchange

($destination: key)

message
$key
$properties

binding
queue

consuming
3 Example Code
1. RabbitMQ tutorial code (synchronous)
2. RabbitMQ RPC (synchronous)
3. Celery framework (distributed task queue /
asynchronous)
Classical Scenario
in Example Code
– one request queue per service; one reply queue per client
– properties used on message
• correlate-id
• message-id
• reply-to

– steps
1.
2.
3.
4.

client thread send REQUEST and wait on reply queue
server thread receive REQUEST, process it and send REPLY to reply queue
client thread get reply from reply queue
if asynchronous mode, client may polls processing status by another status
update REQUEST message, and server reply another status update REPLY
message
Example Code 1:
RabbitMQ tutorial
C1

(q1.1)

s1

tmp1

reply-to: (tmp1)

(q1)

C1

q1

tmp1

1
(tmp1)
q1

3

reply-to: (tmp1)

2

C1

tmp1

q1

s1

s1

C1

(tmp1)

s1

tmp1

q1

4

• coordinate REQUEST-REPLY into transaction by reply queue id
Example Code 2:
RabbitMQ RPC

(rpcq1)

C1

s1

tmp1

reply-to: (tmp1)
cor-id: (1)

(rpcq1)

C1

rpcq1

tmp1

q1

1

tmp1

rpcq1

reply-to: (tmp1)
cor-id: (1)

2
(tmp1)

C1

cor-id: (1)

s1

C1

(tmp1)

cor-id: (1)

s1

rpcq1

tmp1

3
•

s1

Coordinate REQUEST-REPLY into transaction by correlate-id

4
Example Code 3:
Celery (Distributed Task Queue)
(celery:celery)

(celery:celery)

C1

s1

add
(1,1)

celery
result:
1

celery:
celery

cor-id: (1)

C1

s1

celery
result:
1

step 1

(

add
(1,1)
cor-id: (1)

step 2

(celery-result:1)

step 3: polling
status of result
queue many
times:

celery:
celery

C1

(celery-result:1)
C1

poll
step a

empty
step b

)*
Example Code 3:
Celery (Distributed Task Queue)

(celery-result:1)
C1

(celery-result:1)
worker

celeryresult:
1

celery:
celery

step 4

cor-id: (1)

C1

worker

cor-id: (1)

celeryresult:
1

celery:
celery

step 5

• Coordinate REQUEST-REPLY into transaction by (correlate-id)
Celery: one client application with two worker
w1
service

C1

w1

2+2

1+1

cor-id: (2)

cor-id: (1)

worker thread pool

1. client make two calls via the same connection
w1
C1

2
cor-id: (1)
w2

4
cor-id: (2)

2. worker send REPLY via its own connection
3. client receive REPLYs via the same connection
5 Real Cases Study
• Applications use RabbitMQ
1. Zenoss4‘s message bus between daemons (non
transaction app)
2. Nova controller’s RPC call between hosts (transaction app)

• Enterprise use RabbitMQ
3. Instagram : Celery + RabbitMQ
4. MercadoLibre: RabbitMQ
5. Indeed.com
MailboxApp
Case 1: Zenoss 4
• A message bus to pass event and heartbeat between daemons
– RabbitMQ as message queue server
– Protobufs to serialization

• Non-transaction application

zenhub

zenoss
event server

heart
beat
event
zenhubworker

zeventd
raw
event

RabbitMQ
Heartbeat
zenhub

zeneventd

zenhubwork
er

zenhubworker.py---(1)-->[RabbitMQ]
zenhubworker.py---(1)-->[RabbitMQ]
zenhubworker.py---(1)-->[RabbitMQ]
[RabbitMQ]---(3)-->java
[RabbitMQ]---(3)-->java
[RabbitMQ]---(3)-->java

zenoss
event server

HB

HB

HB

heart
beat

HB

message bus

publish exchange: zenoss.heartbeats key: zenoss.heartbeat.localhost
content header: org.zenoss.protobufs.zep.DaemonHeartbeat
content with len: 33
deliver
content header: org.zenoss.protobufs.zep.DaemonHeartbeat
content with len: 33
Ping Failure

zenoss
event server

zenping

1

raw
ping
event

event

2

ping
event

zeventd
raw
event
RabbitMQ
Ping Failure Messages
zenping---(1)-->[RabbitMQ]
zenping---(1)-->[RabbitMQ]
zenping---(1)-->[RabbitMQ]
[RabbitMQ]---(1)-->zeneventd.py
[RabbitMQ]---(1)-->zeneventd.py
[RabbitMQ]---(1)-->zeneventd.py
zeneventd.py---(1)-->[RabbitMQ]
zeneventd.py---(1)-->[RabbitMQ]
zeneventd.py---(1)-->[RabbitMQ]
[RabbitMQ]---(1)-->java
[RabbitMQ]---(1)-->java
[RabbitMQ]---(1)-->java
java---(6)-->[RabbitMQ]
java---(6)-->[RabbitMQ]
java---(6)-->[RabbitMQ]

publish exchange: zenoss.zenevents.raw key: zenoss.zenevent.status.ping
content header: org.zenoss.protobufs.zep.Event
content with len: 235
deliver
content header: org.zenoss.protobufs.zep.Event
content with len: 235
publish exchange: zenoss.zenevents.zep key: zenoss.zenevent.status.ping
content header: org.zenoss.protobufs.zep.ZepRawEvent
content with len: 432
deliver
content header: org.zenoss.protobufs.zep.ZepRawEvent
content with len: 432
publish exchange: zenoss.zenevents key: zenoss.zenevent.status.ping
content header: org.zenoss.protobufs.zep.EventSummary
content with len: 433
Case 2: Nova Controller
• A message queue server for RPC call between hosts
• Each RPC call has its own unique message-id generated by UUID library
Case 3: Instagram
• Web server uses nginx
• Messaging system use
RabbitMQ
– Scalability: self-made message
broker, dispatch message in RR
– Reliability: RabbitMQ cluster

• Worker system use Celery
– Celery is distributed task queue
– worker concurrency model
• slow task: pre-fork pool
• fast task: gevent

• Overall throughput
– 25k application threads
publishing task
– 4K tasks per second
– Also monitor queue length

http://lanyrd.com/2013/pycon/scdyrp/
Nginx Server with Celery

nginx

w1

client1

1
cor-id: (c1’s request)
w2

client
client
client
10k
10k
10k

2
cor-id: (c2’s request)

queue server
Nginx
• single thread
• event driven
• asynchronous (non-blocking)

• Task complete and
return REPLY messages
Case 4: MercadoLibre
• MercadoLibre is 8th largest ecommerce company in
Latin American
• original architecture of their ecommerce system:
requests
requests
requests

Redis

nodeJS
nginx
proxy
to route
requests

20 million request per
minutes, 4GB per seconds

Grails
Groovy

7000+ vm insance
(by openstack)

MongoDb
Case 4: MercadoLibre
• Changes from LB + web
app to enterprise
service bus architecture
• Benefit
–
–
–
–

error handling
routing
scalability
event driven for higher
performance

web
server

app1
req
app2

item
feed

req

enterprise
service bus

app3

persist
MercadoLibre’s
News Update System

• The items-app is not transaction based
MercadoLibre’s
Selectively Receive Message

• The items-app is not transaction based
Case 5:
indeed.COM
crawler
engine

Rabbit
MQ

crawler
engine

Rabbit
MQ

crawler
engine

Rabbit
MQ

Asian DC

Job write
service

Job write
service

DB

Job write
service

Rabbit
Rabbit
MQ
MQ
HA

DB

DB

pacific
US DC
ocean
• crawler engine app is not transaction based
Reference
•
•
•
•
•
•
•

RabbitMQ specification 0.8
RabbitMQ Tutorial, example 1/6 and its packet dump
Celery: Distributed Task Queue and its packet dump
Messaging at Scale at Instagram
How is nginx different from apache
Zenoss source code
nova controller source code

More Related Content

What's hot

[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장Dylan Ko
 
개발팀을 위한 소통과 협업스킬
개발팀을 위한 소통과 협업스킬개발팀을 위한 소통과 협업스킬
개발팀을 위한 소통과 협업스킬수보 김
 
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들Chris Ohk
 
[216]네이버 검색 사용자를 만족시켜라! 의도파악과 의미검색
[216]네이버 검색 사용자를 만족시켜라!   의도파악과 의미검색[216]네이버 검색 사용자를 만족시켜라!   의도파악과 의미검색
[216]네이버 검색 사용자를 만족시켜라! 의도파악과 의미검색NAVER D2
 
Open Source Logging and Monitoring Tools
Open Source Logging and Monitoring ToolsOpen Source Logging and Monitoring Tools
Open Source Logging and Monitoring ToolsPhase2
 
Django, 저는 이렇게 씁니다.
Django, 저는 이렇게 씁니다.Django, 저는 이렇게 씁니다.
Django, 저는 이렇게 씁니다.Kyoung Up Jung
 
패턴 스터디 발표 자료 - State 패턴
패턴 스터디 발표 자료 - State 패턴패턴 스터디 발표 자료 - State 패턴
패턴 스터디 발표 자료 - State 패턴beom kyun choi
 
Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...
Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...
Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...ScyllaDB
 
소프트웨어 학습 및 자바 웹 개발자 학습 로드맵
소프트웨어 학습 및 자바 웹 개발자 학습 로드맵소프트웨어 학습 및 자바 웹 개발자 학습 로드맵
소프트웨어 학습 및 자바 웹 개발자 학습 로드맵Javajigi Jaesung
 
SQream DB - Bigger Data On GPUs: Approaches, Challenges, Successes
SQream DB - Bigger Data On GPUs: Approaches, Challenges, SuccessesSQream DB - Bigger Data On GPUs: Approaches, Challenges, Successes
SQream DB - Bigger Data On GPUs: Approaches, Challenges, SuccessesArnon Shimoni
 
RedisConf18 - Redis at LINE - 25 Billion Messages Per Day
RedisConf18 - Redis at LINE - 25 Billion Messages Per DayRedisConf18 - Redis at LINE - 25 Billion Messages Per Day
RedisConf18 - Redis at LINE - 25 Billion Messages Per DayRedis Labs
 
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)Hyojun Jeon
 
Using Redis at Facebook
Using Redis at FacebookUsing Redis at Facebook
Using Redis at FacebookRedis Labs
 
ORC File and Vectorization - Hadoop Summit 2013
ORC File and Vectorization - Hadoop Summit 2013ORC File and Vectorization - Hadoop Summit 2013
ORC File and Vectorization - Hadoop Summit 2013Owen O'Malley
 
ORC File Introduction
ORC File IntroductionORC File Introduction
ORC File IntroductionOwen O'Malley
 
Data Engineering 101
Data Engineering 101Data Engineering 101
Data Engineering 101DaeMyung Kang
 
Apache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native EraApache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native EraFlink Forward
 
[224]nsml 상상하는 모든 것이 이루어지는 클라우드 머신러닝 플랫폼
[224]nsml 상상하는 모든 것이 이루어지는 클라우드 머신러닝 플랫폼[224]nsml 상상하는 모든 것이 이루어지는 클라우드 머신러닝 플랫폼
[224]nsml 상상하는 모든 것이 이루어지는 클라우드 머신러닝 플랫폼NAVER D2
 

What's hot (20)

[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장
 
개발팀을 위한 소통과 협업스킬
개발팀을 위한 소통과 협업스킬개발팀을 위한 소통과 협업스킬
개발팀을 위한 소통과 협업스킬
 
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
 
Async await...oh wait!
Async await...oh wait!Async await...oh wait!
Async await...oh wait!
 
[216]네이버 검색 사용자를 만족시켜라! 의도파악과 의미검색
[216]네이버 검색 사용자를 만족시켜라!   의도파악과 의미검색[216]네이버 검색 사용자를 만족시켜라!   의도파악과 의미검색
[216]네이버 검색 사용자를 만족시켜라! 의도파악과 의미검색
 
Open Source Logging and Monitoring Tools
Open Source Logging and Monitoring ToolsOpen Source Logging and Monitoring Tools
Open Source Logging and Monitoring Tools
 
Scrum Patterns
Scrum PatternsScrum Patterns
Scrum Patterns
 
Django, 저는 이렇게 씁니다.
Django, 저는 이렇게 씁니다.Django, 저는 이렇게 씁니다.
Django, 저는 이렇게 씁니다.
 
패턴 스터디 발표 자료 - State 패턴
패턴 스터디 발표 자료 - State 패턴패턴 스터디 발표 자료 - State 패턴
패턴 스터디 발표 자료 - State 패턴
 
Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...
Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...
Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...
 
소프트웨어 학습 및 자바 웹 개발자 학습 로드맵
소프트웨어 학습 및 자바 웹 개발자 학습 로드맵소프트웨어 학습 및 자바 웹 개발자 학습 로드맵
소프트웨어 학습 및 자바 웹 개발자 학습 로드맵
 
SQream DB - Bigger Data On GPUs: Approaches, Challenges, Successes
SQream DB - Bigger Data On GPUs: Approaches, Challenges, SuccessesSQream DB - Bigger Data On GPUs: Approaches, Challenges, Successes
SQream DB - Bigger Data On GPUs: Approaches, Challenges, Successes
 
RedisConf18 - Redis at LINE - 25 Billion Messages Per Day
RedisConf18 - Redis at LINE - 25 Billion Messages Per DayRedisConf18 - Redis at LINE - 25 Billion Messages Per Day
RedisConf18 - Redis at LINE - 25 Billion Messages Per Day
 
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
 
Using Redis at Facebook
Using Redis at FacebookUsing Redis at Facebook
Using Redis at Facebook
 
ORC File and Vectorization - Hadoop Summit 2013
ORC File and Vectorization - Hadoop Summit 2013ORC File and Vectorization - Hadoop Summit 2013
ORC File and Vectorization - Hadoop Summit 2013
 
ORC File Introduction
ORC File IntroductionORC File Introduction
ORC File Introduction
 
Data Engineering 101
Data Engineering 101Data Engineering 101
Data Engineering 101
 
Apache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native EraApache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native Era
 
[224]nsml 상상하는 모든 것이 이루어지는 클라우드 머신러닝 플랫폼
[224]nsml 상상하는 모든 것이 이루어지는 클라우드 머신러닝 플랫폼[224]nsml 상상하는 모든 것이 이루어지는 클라우드 머신러닝 플랫폼
[224]nsml 상상하는 모든 것이 이루어지는 클라우드 머신러닝 플랫폼
 

Viewers also liked

Why and how Pricing Assistant migrated from Celery to RQ - Paris.py #2
Why and how Pricing Assistant migrated from Celery to RQ - Paris.py #2Why and how Pricing Assistant migrated from Celery to RQ - Paris.py #2
Why and how Pricing Assistant migrated from Celery to RQ - Paris.py #2Sylvain Zimmer
 
Introduction to AMQP Messaging with RabbitMQ
Introduction to AMQP Messaging with RabbitMQIntroduction to AMQP Messaging with RabbitMQ
Introduction to AMQP Messaging with RabbitMQDmitriy Samovskiy
 
RestMQ - HTTP/Redis based Message Queue
RestMQ - HTTP/Redis based Message QueueRestMQ - HTTP/Redis based Message Queue
RestMQ - HTTP/Redis based Message QueueGleicon Moraes
 
Rabbitmq, amqp Intro - Messaging Patterns
Rabbitmq, amqp Intro - Messaging PatternsRabbitmq, amqp Intro - Messaging Patterns
Rabbitmq, amqp Intro - Messaging PatternsJavier Arias Losada
 
Uboot startup sequence
Uboot startup sequenceUboot startup sequence
Uboot startup sequenceHoucheng Lin
 
Arm device tree and linux device drivers
Arm device tree and linux device driversArm device tree and linux device drivers
Arm device tree and linux device driversHoucheng Lin
 
Dissecting the rabbit: RabbitMQ Internal Architecture
Dissecting the rabbit: RabbitMQ Internal ArchitectureDissecting the rabbit: RabbitMQ Internal Architecture
Dissecting the rabbit: RabbitMQ Internal ArchitectureAlvaro Videla
 
"What we've learnt from Ember.js developing our new product" by Guillaume Pot...
"What we've learnt from Ember.js developing our new product" by Guillaume Pot..."What we've learnt from Ember.js developing our new product" by Guillaume Pot...
"What we've learnt from Ember.js developing our new product" by Guillaume Pot...TheFamily
 
An Introduction to AMQP with Code Samples
An Introduction to AMQP with Code SamplesAn Introduction to AMQP with Code Samples
An Introduction to AMQP with Code SamplesStormMQ
 
Messaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQMessaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQAll Things Open
 
Distributed and concurrent programming with RabbitMQ and EventMachine Rails U...
Distributed and concurrent programming with RabbitMQ and EventMachine Rails U...Distributed and concurrent programming with RabbitMQ and EventMachine Rails U...
Distributed and concurrent programming with RabbitMQ and EventMachine Rails U...Paolo Negri
 
Improvements in RabbitMQ
Improvements in RabbitMQImprovements in RabbitMQ
Improvements in RabbitMQAlvaro Videla
 
RabbitMQ fairly-indepth
RabbitMQ fairly-indepthRabbitMQ fairly-indepth
RabbitMQ fairly-indepthWee Keat Chin
 
Inter-process communication of Android
Inter-process communication of AndroidInter-process communication of Android
Inter-process communication of AndroidTetsuyuki Kobayashi
 
RabbitMQ Data Ingestion at Craft Conf
RabbitMQ Data Ingestion at Craft ConfRabbitMQ Data Ingestion at Craft Conf
RabbitMQ Data Ingestion at Craft ConfAlvaro Videla
 
An Introduction to Celery
An Introduction to CeleryAn Introduction to Celery
An Introduction to CeleryIdan Gazit
 
The RabbitMQ Message Broker
The RabbitMQ Message BrokerThe RabbitMQ Message Broker
The RabbitMQ Message BrokerMartin Toshev
 
API's overview - MeliDevConf 2013 - SP
API's overview - MeliDevConf 2013 - SPAPI's overview - MeliDevConf 2013 - SP
API's overview - MeliDevConf 2013 - SPmelidevelopers
 

Viewers also liked (20)

Why and how Pricing Assistant migrated from Celery to RQ - Paris.py #2
Why and how Pricing Assistant migrated from Celery to RQ - Paris.py #2Why and how Pricing Assistant migrated from Celery to RQ - Paris.py #2
Why and how Pricing Assistant migrated from Celery to RQ - Paris.py #2
 
Introduction to AMQP Messaging with RabbitMQ
Introduction to AMQP Messaging with RabbitMQIntroduction to AMQP Messaging with RabbitMQ
Introduction to AMQP Messaging with RabbitMQ
 
RestMQ - HTTP/Redis based Message Queue
RestMQ - HTTP/Redis based Message QueueRestMQ - HTTP/Redis based Message Queue
RestMQ - HTTP/Redis based Message Queue
 
Rabbitmq, amqp Intro - Messaging Patterns
Rabbitmq, amqp Intro - Messaging PatternsRabbitmq, amqp Intro - Messaging Patterns
Rabbitmq, amqp Intro - Messaging Patterns
 
Uboot startup sequence
Uboot startup sequenceUboot startup sequence
Uboot startup sequence
 
Arm device tree and linux device drivers
Arm device tree and linux device driversArm device tree and linux device drivers
Arm device tree and linux device drivers
 
Dissecting the rabbit: RabbitMQ Internal Architecture
Dissecting the rabbit: RabbitMQ Internal ArchitectureDissecting the rabbit: RabbitMQ Internal Architecture
Dissecting the rabbit: RabbitMQ Internal Architecture
 
"What we've learnt from Ember.js developing our new product" by Guillaume Pot...
"What we've learnt from Ember.js developing our new product" by Guillaume Pot..."What we've learnt from Ember.js developing our new product" by Guillaume Pot...
"What we've learnt from Ember.js developing our new product" by Guillaume Pot...
 
An Introduction to AMQP with Code Samples
An Introduction to AMQP with Code SamplesAn Introduction to AMQP with Code Samples
An Introduction to AMQP with Code Samples
 
RabbitMQ Plugins Talk
RabbitMQ Plugins TalkRabbitMQ Plugins Talk
RabbitMQ Plugins Talk
 
AMQP with RabbitMQ
AMQP with RabbitMQAMQP with RabbitMQ
AMQP with RabbitMQ
 
Messaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQMessaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQ
 
Distributed and concurrent programming with RabbitMQ and EventMachine Rails U...
Distributed and concurrent programming with RabbitMQ and EventMachine Rails U...Distributed and concurrent programming with RabbitMQ and EventMachine Rails U...
Distributed and concurrent programming with RabbitMQ and EventMachine Rails U...
 
Improvements in RabbitMQ
Improvements in RabbitMQImprovements in RabbitMQ
Improvements in RabbitMQ
 
RabbitMQ fairly-indepth
RabbitMQ fairly-indepthRabbitMQ fairly-indepth
RabbitMQ fairly-indepth
 
Inter-process communication of Android
Inter-process communication of AndroidInter-process communication of Android
Inter-process communication of Android
 
RabbitMQ Data Ingestion at Craft Conf
RabbitMQ Data Ingestion at Craft ConfRabbitMQ Data Ingestion at Craft Conf
RabbitMQ Data Ingestion at Craft Conf
 
An Introduction to Celery
An Introduction to CeleryAn Introduction to Celery
An Introduction to Celery
 
The RabbitMQ Message Broker
The RabbitMQ Message BrokerThe RabbitMQ Message Broker
The RabbitMQ Message Broker
 
API's overview - MeliDevConf 2013 - SP
API's overview - MeliDevConf 2013 - SPAPI's overview - MeliDevConf 2013 - SP
API's overview - MeliDevConf 2013 - SP
 

Similar to RabbitMQ Model and Some Example Applications

Covert Timing Channels using HTTP Cache Headers
Covert Timing Channels using HTTP Cache HeadersCovert Timing Channels using HTTP Cache Headers
Covert Timing Channels using HTTP Cache HeadersDenis Kolegov
 
Openstack meetup lyon_2017-09-28
Openstack meetup lyon_2017-09-28Openstack meetup lyon_2017-09-28
Openstack meetup lyon_2017-09-28Xavier Lucas
 
Introduction to netlink in linux kernel (english)
Introduction to netlink in linux kernel (english)Introduction to netlink in linux kernel (english)
Introduction to netlink in linux kernel (english)Sneeker Yeh
 
Training Slides: 352 - Tungsten Replicator for MongoDB & Kafka
Training Slides: 352 - Tungsten Replicator for MongoDB & KafkaTraining Slides: 352 - Tungsten Replicator for MongoDB & Kafka
Training Slides: 352 - Tungsten Replicator for MongoDB & KafkaContinuent
 
Building scalable flexible messaging systems using qpid
Building scalable flexible messaging systems using qpidBuilding scalable flexible messaging systems using qpid
Building scalable flexible messaging systems using qpidJack Gibson
 
Resilient Kafka: How DNS Traffic Management and Client Wrappers Ensure Availa...
Resilient Kafka: How DNS Traffic Management and Client Wrappers Ensure Availa...Resilient Kafka: How DNS Traffic Management and Client Wrappers Ensure Availa...
Resilient Kafka: How DNS Traffic Management and Client Wrappers Ensure Availa...HostedbyConfluent
 
Resilient Kafka: How DNS Traffic Management and Client Wrappers Ensure Availa...
Resilient Kafka: How DNS Traffic Management and Client Wrappers Ensure Availa...Resilient Kafka: How DNS Traffic Management and Client Wrappers Ensure Availa...
Resilient Kafka: How DNS Traffic Management and Client Wrappers Ensure Availa...VanessaVuibert1
 
Resilient Kafka: How DNS Traffic Management and Client Wrappers Ensure Availa...
Resilient Kafka: How DNS Traffic Management and Client Wrappers Ensure Availa...Resilient Kafka: How DNS Traffic Management and Client Wrappers Ensure Availa...
Resilient Kafka: How DNS Traffic Management and Client Wrappers Ensure Availa...Vanessa Vuibert
 
Architectures with Windows Azure
Architectures with Windows AzureArchitectures with Windows Azure
Architectures with Windows AzureDamir Dobric
 
Covert timing channels using HTTP cache headers
Covert timing channels using HTTP cache headersCovert timing channels using HTTP cache headers
Covert timing channels using HTTP cache headersyalegko
 
Chapter 9 security
Chapter 9 securityChapter 9 security
Chapter 9 securityNaiyan Noor
 
Akka-demy (a.k.a. How to build stateful distributed systems) I/II
 Akka-demy (a.k.a. How to build stateful distributed systems) I/II Akka-demy (a.k.a. How to build stateful distributed systems) I/II
Akka-demy (a.k.a. How to build stateful distributed systems) I/IIPeter Csala
 
Kafka indexing service
Kafka indexing serviceKafka indexing service
Kafka indexing serviceSeoeun Park
 
MQTC V2.0.1.3 - WMQ & TCP Buffers – Size DOES Matter! (pps)
MQTC V2.0.1.3 - WMQ & TCP Buffers – Size DOES Matter! (pps)MQTC V2.0.1.3 - WMQ & TCP Buffers – Size DOES Matter! (pps)
MQTC V2.0.1.3 - WMQ & TCP Buffers – Size DOES Matter! (pps)Art Schanz
 
Samza at LinkedIn
Samza at LinkedInSamza at LinkedIn
Samza at LinkedInVenu Ryali
 
End to End Processing of 3.7 Million Telemetry Events per Second using Lambda...
End to End Processing of 3.7 Million Telemetry Events per Second using Lambda...End to End Processing of 3.7 Million Telemetry Events per Second using Lambda...
End to End Processing of 3.7 Million Telemetry Events per Second using Lambda...DataWorks Summit/Hadoop Summit
 
Load Balancing 101
Load Balancing 101Load Balancing 101
Load Balancing 101HungWei Chiu
 

Similar to RabbitMQ Model and Some Example Applications (20)

Covert Timing Channels using HTTP Cache Headers
Covert Timing Channels using HTTP Cache HeadersCovert Timing Channels using HTTP Cache Headers
Covert Timing Channels using HTTP Cache Headers
 
Openstack meetup lyon_2017-09-28
Openstack meetup lyon_2017-09-28Openstack meetup lyon_2017-09-28
Openstack meetup lyon_2017-09-28
 
Introduction to netlink in linux kernel (english)
Introduction to netlink in linux kernel (english)Introduction to netlink in linux kernel (english)
Introduction to netlink in linux kernel (english)
 
Training Slides: 352 - Tungsten Replicator for MongoDB & Kafka
Training Slides: 352 - Tungsten Replicator for MongoDB & KafkaTraining Slides: 352 - Tungsten Replicator for MongoDB & Kafka
Training Slides: 352 - Tungsten Replicator for MongoDB & Kafka
 
Building scalable flexible messaging systems using qpid
Building scalable flexible messaging systems using qpidBuilding scalable flexible messaging systems using qpid
Building scalable flexible messaging systems using qpid
 
Resilient Kafka: How DNS Traffic Management and Client Wrappers Ensure Availa...
Resilient Kafka: How DNS Traffic Management and Client Wrappers Ensure Availa...Resilient Kafka: How DNS Traffic Management and Client Wrappers Ensure Availa...
Resilient Kafka: How DNS Traffic Management and Client Wrappers Ensure Availa...
 
Resilient Kafka: How DNS Traffic Management and Client Wrappers Ensure Availa...
Resilient Kafka: How DNS Traffic Management and Client Wrappers Ensure Availa...Resilient Kafka: How DNS Traffic Management and Client Wrappers Ensure Availa...
Resilient Kafka: How DNS Traffic Management and Client Wrappers Ensure Availa...
 
Resilient Kafka: How DNS Traffic Management and Client Wrappers Ensure Availa...
Resilient Kafka: How DNS Traffic Management and Client Wrappers Ensure Availa...Resilient Kafka: How DNS Traffic Management and Client Wrappers Ensure Availa...
Resilient Kafka: How DNS Traffic Management and Client Wrappers Ensure Availa...
 
Architectures with Windows Azure
Architectures with Windows AzureArchitectures with Windows Azure
Architectures with Windows Azure
 
Lecture9
Lecture9Lecture9
Lecture9
 
Covert timing channels using HTTP cache headers
Covert timing channels using HTTP cache headersCovert timing channels using HTTP cache headers
Covert timing channels using HTTP cache headers
 
Personalisering av tv.nrk.no
Personalisering av tv.nrk.noPersonalisering av tv.nrk.no
Personalisering av tv.nrk.no
 
Chapter 9 security
Chapter 9 securityChapter 9 security
Chapter 9 security
 
Akka-demy (a.k.a. How to build stateful distributed systems) I/II
 Akka-demy (a.k.a. How to build stateful distributed systems) I/II Akka-demy (a.k.a. How to build stateful distributed systems) I/II
Akka-demy (a.k.a. How to build stateful distributed systems) I/II
 
Kafka indexing service
Kafka indexing serviceKafka indexing service
Kafka indexing service
 
MQTC V2.0.1.3 - WMQ & TCP Buffers – Size DOES Matter! (pps)
MQTC V2.0.1.3 - WMQ & TCP Buffers – Size DOES Matter! (pps)MQTC V2.0.1.3 - WMQ & TCP Buffers – Size DOES Matter! (pps)
MQTC V2.0.1.3 - WMQ & TCP Buffers – Size DOES Matter! (pps)
 
Samza at LinkedIn
Samza at LinkedInSamza at LinkedIn
Samza at LinkedIn
 
Polyraptor
PolyraptorPolyraptor
Polyraptor
 
End to End Processing of 3.7 Million Telemetry Events per Second using Lambda...
End to End Processing of 3.7 Million Telemetry Events per Second using Lambda...End to End Processing of 3.7 Million Telemetry Events per Second using Lambda...
End to End Processing of 3.7 Million Telemetry Events per Second using Lambda...
 
Load Balancing 101
Load Balancing 101Load Balancing 101
Load Balancing 101
 

Recently uploaded

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 

Recently uploaded (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

RabbitMQ Model and Some Example Applications