Oh man, this Twitter Ruby-vs-Scala language spat is hilarious; talk about handbags at dawn. I loved this exchange in the comments to this post in particular:
I’m mostly surprised that a guy who wrote the book on Scala comes out and says that Scala is better than everything else and someone actually listened and took him seriously. He has a vested interest in saying that Scala is the next big thing and I’ve yet to see any evidence that Kestrel is better (at anything) than RabbitMQ.
And frankly, I still get fail whales at Twitter on a daily basis, so, what exactly are they so proud about over there?
Kestrel pages queues to disk: if you get more messages than you have memory, it’s fine. If RabbitMQ gets more messages than memory, it crashes. We talked to them extensively about this problem and they’re going to address it. We were hoping we’d be able to use RabbitMQ or another message queue. We didn’t want to be in the message queue business. At this point, given that we know the code and it’s performance inside and out, it makes sense to continue using and developing it.
I don’t feel like arguing with you but your logic isn’t clear to me. It would make sense that if you don’t want to be in the message queue business, you’d submit patches against an established message queue to make it work in your situation instead of writing your own message queue, twice. This is overlooking the fact that twitter is basically a massive message queue and you are, in fact, in the message queue business.