Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
push-redis-failover2
Advanced tools
A redis failover solution based on ZooKeeper for Node.js
Architecture chart:
Install with npm:
npm install -g node-redis-failover2
redis-failover -h
Usage: redis-failover -c config.json
Options:
-h, --help output usage information
-V, --version output the version number
-c, --config [path] Path to JSON config file
start a redis watcher (we recommend the watchers' count should be an odd number, and more than 3):
redis-failover -c config.json
with a config file config.json
(config json file support comments use json-comments):
{
// zookeeper
"zooKeeper": {
"servers": "127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183",
"chroot": "/test"
//"username": "abssd",
//"password": 'asdfefe'
},
// redis cluster nodes
"nodes": [
{
"name": "node_1",
"servers": "127.0.0.1:6379,127.0.0.1:6479",
// redis password
"password": "abc123",
// redis ping timeout default 6000 ms
"pingTimeout": 4000,
// redis ping interval(ms). default 3000 ms
"pingInterval": 1000,
// the maxFailures for the redis. default 3
"maxFailures": 5
},
{
"name": "node_2",
"servers": "127.0.0.1:7000,127.0.0.1:7001"
}
],
// log path
"log": "logs/",
// pid file
"pid": "a.pid"
}
start a watcher:
redis-failover -c config.json
start with forever
forever start -m 10 redis-failover -c config.json
install:
npm install node-redis-failover2 --save
example code:
var redisFailover = require('node-redis-failover');
var zookeeper = {
servers: '192.168.1.1:2181,192.168.1.2:2181,192.168.1.3:2181',
chroot: '/appName'
};
var redis = redisFailover.createClient(zookeeper);
redis.on('ready', function() {
// get the master client of 'node_1' (default master)
redis.getClient('node_1').ping(function(err, info) {
console.log(info);
});
// get the slave clinet of 'node_2'
redis.getClient('node_1', 'slave').ping(function(err, info) {
console.log(info);
});
});
redis.on('change', function(name, state) {
console.log('redis %s state changed, %j', name, state);
});
redis.on('masterChange', function(name, state) {
console.log('%s master changed, %s', name, state);
});
redis.on('error', function(err) {
console.log('err,', err);
});
(The MIT License)
Copyright (c) 2014 Johnny Wong wzhao23@gmail.com
FAQs
redis failover solution based on ZooKeeper
We found that push-redis-failover2 demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.