Agent for twemproxy to work with a redis sentinel (master-slave) stack
Go
Switch branches/tags
Nothing to show
Clone or download
Permalink
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
README.md 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

README.md

smitty

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:

Image

Install

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

Configuration

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: "127.0.0.1"
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:

Image

Contributing

  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

License

Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0

See LICENSE.md