Skip to content

iskorotkov/bully-election

Repository files navigation

Bully election algorithm

CodeQL

Bully election algorithm for distributed systems implemented in Go for deploying in Kubernetes clusters.

Monitor

  1. /metrics - use metrics endpoint to get info about replica state,
  2. Bully election dashboard - web app for monitoring entire cluster.

Build

make build # to build locally.
make test # to run all tests.
make build-image # to build Docker image.

Deploy

make deploy # to deploy in Kubernetes cluster.

Limitations

  1. sometimes cluster selects wrong leader on deployment creation,
  2. when number of pods is high (>=20) there may be several leaders selected.

Links