Professional Documents
Culture Documents
SD - 05 - MIddleware - ZeroMQ
SD - 05 - MIddleware - ZeroMQ
https://www.pearson.com/us/higher-education/program/Coulouris-Distributed-Systems-Concepts-and-Design-5th-Edition/PGM85317.html
https://www.distributed-systems.net/index.php/books/ds3/
http://vis.usal.es/rodrigo/teaching/sistemas-distribuidos.html
Ingeniería de
Introducción a Sistemas Distribuidos
Sistemas
Message Queue Middleware
Starling Kafka
•written by Blaine Cook at Twitter •Written at LinkedIn in Scala
•Starling is a Message Queue Server based on MemCached •Used by LinkedIn to offload processing of all page and other views
•written in Ruby •Defaults to using persistence, uses OS disk cache for hot data (has higher throughput then any
of the above having persistence enabled)
•stores jobs in memory (message queue)
•Supports both on-line as off-line processing
Kestrel ZMQ
•written by Robey Pointer •The socket library that acts as a concurrency framework
•Starling clone written in Scala (a port of Starling from Ruby to Scala) •Faster than TCP, for clustered products and supercomputing
•Queues are stored in memory, but logged on disk •Carries messages across inproc, IPC, TCP, and multicast
•Connect N-to-N via fanout, pubsub, pipeline, request-reply
RabbitMQ •Asynch I/O for scalable multicore message-passing apps
•RabbitMQ is a Message Queue Server in Erlang
•stores jobs in memory (message queue) EagleMQ
•EagleMQ is an open source, high-performance and lightweight queue manager.
•Written in C
Apache ActiveMQ
•Stores all data in memory and support persistence.
•ActiveMQ is an open source message broker in Java
•It has its own protocol. Supports work with queues, routes and channels.
https://zguide.zeromq.org/
Ingeniería de
Introducción a Sistemas Distribuidos
Sistemas
ZeroMQ – Sockets con tipos y patrones
Pipeline
Request / Reply Publisher / Subscriber
Push / Pull
Ingeniería de
Introducción a Sistemas Distribuidos
Sistemas
ZeroMQ – Request / Reply Pattern
CLIENT SERVER
Ingeniería de
Introducción a Sistemas Distribuidos
Sistemas
ZeroMQ – Publisher / Subscriber Pattern
Ingeniería de
Introducción a Sistemas Distribuidos
Sistemas
ZeroMQ – Publisher / Subscriber Pattern
CLIENT
SERVER
Ingeniería de
Introducción a Sistemas Distribuidos
Sistemas
ZeroMQ – Pipeline
(Push / Pull) Pattern
Ingeniería de
Introducción a Sistemas Distribuidos
Sistemas
ZeroMQ – Pipeline (Push / Pull) Pattern
Job Master (Pusher) Job Worker (Puller/Pusher) Sink (Puller)
Ingeniería de
Introducción a Sistemas Distribuidos
Sistemas