Fork me on GitHub

Tochtli

Tochtli standardizes the way of services implementation to minimize the impact of API change on application code. It uses RabbitMQ as a message broker with bunny client. It has been written at PuzzleFlow and then extracted into an open source gem.

Get started »

Why the funky name?

Since we are based on RabbitMQ and Bunny gem, it seemed natural to go with some Leporidae-ish name for the project. At first we wanted to go with Centzon Totochtin (which means "four hundred rabbits") and are divine rabbits, and the gods of drunkenness in Aztec and Maya mythology. But because of difficulties with remebering and pronounciating it, we decided to go with simpler Tochtli, which is simply a Nahuatl word for "rabbit".

Why RabbitMQ?

It proved to be reliable and durable enough to rely on it. However, we are open to building an abstraction which would allow to plug ØMQ or Redis PubSub instead.

How is it better than Resque or Sidekiq?

It's not better, it's different. With traditional background processing (at least that available in Ruby world) you launch a job and forget it. It may fail terribly and the system will be notified about that but there is no way to react to it at application level. You also would have to implement some hacks to get notified that the job was succesful. We wanted something different, which would give us full and reliable communication between clients and server (with acknowledgements, when necessary).

Centzon Totochlin visualized by AnaDiasArts.