![]() Fixes https://emqx.atlassian.net/browse/EMQX-12405 |
||
---|---|---|
.. | ||
etc | ||
src | ||
test | ||
BSL.txt | ||
README.md | ||
rebar.config |
README.md
EMQX Eviction Agent
emqx_eviction_agent
is a part of the node evacuation/node rebalance feature in EMQX.
It is a low-level application that encapsulates working with actual MQTT connections.
Application Responsibilities
emqx_eviction_agent
application:
- Blocks incoming connection to the node it is running on.
- Serves as a facade for connection/session eviction operations.
- Reports blocking status via HTTP API.
The emqx_eviction_agent
is relatively passive and has no eviction/rebalancing logic. It allows
emqx_node_rebalance
to perform eviction/rebalancing operations using high-level API, without having to deal with
MQTT connections directly.
EMQX Integration
emqx_eviction_agent
interacts with the following EMQX components:
emqx_cm
- to get the list of active MQTT connections;emqx_hooks
subsystem - to block/unblock incoming connections;emqx_channel
and the corresponding connection modules to perform the eviction.
User Facing API
The application provided a very simple API (CLI and HTTP) to inspect the current blocking status.
Documentation
The rebalancing concept is described in the corresponding EIP.
Contributing
Please see our contributing.md.