|
|
преди 1 година | |
|---|---|---|
| .. | ||
| src | 935c81c8c4 fix(dsraft): add default value for `force_monotonic_timestamps` | преди 1 година |
| test | fdf2f3fa70 Merge remote-tracking branch 'upstream/master' into 20240912-cut-5.8.1-alpha.1 | преди 1 година |
| BSL.txt | a8ea0ae4e5 refactor(ds): Extract DS replication layer to a separate application | преди 1 година |
| README.md | 71dad0242e docs(ds): Move Raft-related parts to emqx_ds_builtin_raft README | преди 1 година |
| mix.exs | 420493deb4 chore: add missing mix files to new apps | преди 1 година |
| rebar.config | 8038898e8d chore: switch back to upstream ra 2.15.0 | преди 1 година |
emqx_ds_builtin_raftReplication layer for the builtin EMQX durable storage backend that uses Raft algorithm.
Raft backend introduces the concept of site to alleviate the problem of changing node names.
Site IDs are persistent, and they are randomly generated at the first startup of the node.
Each node in the cluster has a unique site ID, that is independent from the Erlang node name (emqx@...).
OTP application environment variables:
emqx_durable_storage.reads: leader_preferred | local_preferred.Runtime settings for the durable storages can be modified via CLI as well as the REST API. The following CLI commands are available:
emqx ctl ds info — get a quick overview of the durable storage stateemqx ctl ds set_replicas <DS> <Site1> <Site2> ... — update the list of replicas for a durable storage.emqx ctl ds join <DS> <Site> — add a replica of durable storage on the siteemqx ctl ds leave <DS> <Site> — remove a replica of a durable storage from the siteThe following REST APIs are available for managing the builtin durable storages:
/ds/sites — list known sites./ds/sites/:site — get information about the site (its status, current EMQX node name managing the site, etc.)/ds/storages — list durable storages/ds/storages/:ds — get information about the durable storage and its shards/ds/storages/:ds/replicas — list or update sites that contain replicas of a durable storage/ds/storages/:ds/replicas/:site — add or remove replica of the durable storage on the site