Slide 1

Slide 1 text

MongoDB at IronMQ Alexander Kolesen Hello

Slide 2

Slide 2 text

MongoDB at IronMQ Alexander Kolesen IronMQ create queue POST message into queue GET message(s) from queue DELETE message from queue

Slide 3

Slide 3 text

MongoDB at IronMQ Alexander Kolesen IronMQ Written on Go (high scalable, in/out) Client libs: Ruby, Python, PHP, Go, Java, Clojure, .NET, RESTful HTTP API

Slide 4

Slide 4 text

MongoDB at IronMQ Alexander Kolesen IronMQ Limitations Max message size: 64KB Max expiration time: 30 days Max msg count per GET: 100 250,000 message requests per month free

Slide 5

Slide 5 text

MongoDB at IronMQ Alexander Kolesen MongoDB Backend Storage For Messages And Queues

Slide 6

Slide 6 text

MongoDB at IronMQ Alexander Kolesen MongoDB Performance (IronMQ) Internets lie, don’t trust tests You have to test it by yourself ⇠5000 IronMQ requests/s ⇠90% ‘locked‘ state

Slide 7

Slide 7 text

MongoDB at IronMQ Alexander Kolesen Sharding Topology (1) RS on highmem instances 3 ‘config‘/‘mongos‘

Slide 8

Slide 8 text

MongoDB at IronMQ Alexander Kolesen Sharding Topology (2) RS on highmem instances 3 config servers on RS slaves ‘mongos‘ on each instance

Slide 9

Slide 9 text

MongoDB at IronMQ Alexander Kolesen Choosing Shard Key That’s very important! Shouldn’t choose monotonically increasing key Just revert it!

Slide 10

Slide 10 text

MongoDB at IronMQ Alexander Kolesen The End Q? [email protected]