Skip to content
/ smitty Public

Agent for twemproxy to work with a redis sentinel (master-slave) stack

License

Notifications You must be signed in to change notification settings

areina/smitty

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Agent for twemproxy to work with a redis sentinel (master-slave) stack

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages