This is a thing I wrote seven years ago and was stuck in drafts unfinished. I’m “publishing” it now unchanged except for this note, mostly to highlight for myself I was thinking about horizontal scalability for systems I was writing seven years ago.
After an interview with the folks at Knewton served as a reminder for an aspect of Persnciketly’s architecture which was not capable of scaling horizontally. This specific limitation was due to the choice of RabbitMQ as a message broker. Previous versions of RabbitMQ did not have support for Mirrored Queues though it has since been remedied.
In an effort to make Persnicketly easier to scale out the decision was made to change out RabbitMQ for Redis. Redis is not in and of itself a message broker though it supports data structures which lend it being used as one.