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!