zhongwencool 3cd223ff5b chore: add more detail msg for merging failed 2 年之前
..
etc ce3ec351c7 chore: remove unused conf comments 2 年之前
include 8d83dc12e7 chore(rebalance): move apps from lib-ee, add READMEs 2 年之前
src 3cd223ff5b chore: add more detail msg for merging failed 2 年之前
test aba52c6a25 chore(rebalance test): fix API tests 2 年之前
BSL.txt 8d83dc12e7 chore(rebalance): move apps from lib-ee, add READMEs 2 年之前
README.md 8d83dc12e7 chore(rebalance): move apps from lib-ee, add READMEs 2 年之前
rebar.config 8d83dc12e7 chore(rebalance): move apps from lib-ee, add READMEs 2 年之前

README.md

EMQX Node Rebalance

emqx_node_rebalance is a part of the node evacuation/node rebalance feature in EMQX. It implements high-level scenarios for node evacuation and rebalancing.

Application Responsibilities

emqx_node_rebalance application's core concept is a rebalance coordinator. Rebalance сoordinator is an entity that implements the rebalancing logic and orchestrates the rebalancing process. In particular, it:

  • Enables/Disables Eviction Agent on nodes.
  • Sends connection/session eviction commands to Eviction Agents according to the evacuation logic.

We have two implementations of the rebalance coordinator:

  • emqx_node_rebalance - a coordinator that implements node rebalancing;
  • emqx_node_rebalance_evacuation - a coordinator that implements node evacuation.

EMQX Integration

emqx_node_rebalance is a high-level application that is loosely coupled with the rest of the system. It uses Eviction Agent to perform the required operations.

User Facing API

The application provides API (CLI and HTTP) to perform the following operations:

  • Start/Stop rebalancing across a set of nodes or the whole cluster;
  • Start/Stop evacuation of a node;
  • Get the current rebalancing status of a local node.
  • Get the current rebalancing status of the whole cluster.

Also, an HTTP endpoint is provided for liveness probes.

Documentation

The rebalancing concept is described in the corresponding EIP.

Contributing

Please see our contributing.md.