Agent for twemproxy to work with a redis sentinel (master-slave) stack
Switch branches/tags
Nothing to show
Clone or download
Failed to load latest commit information.
agent Initial code Oct 3, 2013
conf Initial code Oct 3, 2013
.gitignore Initial code Oct 3, 2013
LICENSE Initial commit Sep 27, 2013 Added some comments to the readme. Oct 4, 2013
smitty.go Initial code Oct 3, 2013
smitty.jpg Update README. Oct 4, 2013
stack.png Update README. Oct 4, 2013


Smitty is an agent written in Go language for twemproxy configured to work with redis sentinel. Smitty's purpose is to extend the HA capabilities of twemproxy even after a redis node has failed.

In order to accomplish this, smitty is continuously monitoring the +switch-master event, then it will update twemproxy configuration files and restart the resource.

A possible scenario:



You can get the latest release that includes a smitty binary, download and run it.


smitty needs to be configured through a YAML file specified by the -c command-line argument on process start. An example of configuration file, also included in conf/agent.yml could be this:

twemproxy_pool_name: "root"
twemproxy_config_file: "conf/nutcracker.yml"
sentinel_ip: ""
sentinel_port: "26379"
restart_command: "/etc/init.d/twemproxy restart"
log_file: "agent.log"

The name

At 3scale, we're an absolute Futurama fanatics, and of course there isn't a better name for an agent that Smitty:



  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request


Licensed under the Apache License, Version 2.0: