ZeroMQ talk, Reshef Mann

Get Started. It's Free
or sign up with your email address
ZeroMQ talk, Reshef Mann by Mind Map: ZeroMQ talk, Reshef Mann

1. braintree

1.1. billing service

1.2. uses redis

2. Reshef's requirements

2.1. receive many messages

2.1.1. without loosing any

2.2. process/transfer them when clients connect

3. Reshef was impressed by

4. Tried to build something similar using Redis

4.1. queue using

4.1.1. Eventlet

4.1.2. Redis

4.1.3. Handlers

4.1.4. communicating using redis commands

4.1.4.1. BLPOP

4.1.4.1.1. blocking pop

4.1.4.2. RPUSH

5. Then asked:

5.1. why not ZeroMQ?

6. 0MQ

6.1. socket library acting as concurrency framework

6.1.1. library not a server

6.2. supporting multiple transports

6.3. supporting multiple communication patterns

7. Patterns

7.1. Request/Reply

7.1.1. startup order doesn't matter

7.2. Push/Pull

7.3. Pub/Sub

8. Devices

8.1. the queue ("device") is the only stable thing, other components are transient

9. Mongrel2

9.1. HTTP server built on top of 0mq

9.2. arch

9.2.1. Mongrel2

9.2.1.1. Handlers

9.2.2. using

9.2.2.1. push/pull

9.2.2.2. pub/sub

9.2.3. choosing handler using round robin

9.3. Handlers need follow some spec

9.3.1. there are Wsgi adapters for writing Python handlers

9.3.1.1. eg

9.3.1.1.1. m2wsgi

9.4. demo

9.4.1. send request from browser

9.4.2. while python handler is down

9.4.3. browser waits

9.4.4. start python handler

9.4.5. browser receives response