1. 1
  1. Announcing Jondis

    Working with redis as a database instead of a cache carries additional responsibility. For starters, downtime becomes a serious problem. Up till now, managing this has been somewhat of a pain. Organizations typically deploy a home rolled solution to promote slaves to masters on failure, or handle it manually (since redis is pretty damn stable).

    Recently, redis-sentinel was put into beta, which handles master slave failover of redis instances. This is good for ops, but your application still needs to know when a slave is promoted to a master.

    Enter Jondis. Jondis is a pool for managing your redis master / slave setup that works with redis-py. Given a list of servers, Jondis will learn your topology and if the master server dies, will query the remaining servers to find out which one has been promoted to the master, and reconfigure itself to send requests to the new master instance.

    There’s still a lot to do - currently changing masters without failure isn’t supported, nor is master discovery just by querying slaves, but these features are all on the roadmap and shouldn’t be too much of a problem.

    Check out Jondis - it’s on github and available through pip. We’re currently running Jondis in production on shift.com.


    comments powered by Disqus
    1. desandrev reblogged this from shiftdevs
    2. shiftdevs posted this