elector
Version:
simple zookeeper based leader election
49 lines (32 loc) • 1.21 kB
Markdown
[](https://travis-ci.org/hyperlink/elector)
[](https://greenkeeper.io/)
[](https://badge.fury.io/js/elector)
* emits `leader` event when instance has been elected a leader
* emits `follower` event when instance is a follower
* check using `elector.isLeader`
```bash
npm install --save elector
```
```javascript
const Elector = require('elector')
const elector = new Elector({host: 'localhost:2818'})
// alternatively pass in zookeeper client
// const elector = new Elector(new zookeeper.createClient('localhost:2818'))
// connects to zookeeper and starts the election process
elector.connect()
elector.on('leader', function () {
console.log('I am the supreme leader worship me!')
})
elector.on('follower', function () {
console.log('I am but a lowly follower :(')
})
// leave the election and closes zookeeper connection
// do this to leave the election quickly
// elector.disconnect()
```
MIT