mirror of
https://github.com/qdrant/landing_page.git
synced 2026-10-06 11:28:31 +02:00
up docs version (#119)
* up docs version * docs auto-sync --------- Co-authored-by: qdrant <qdrant@users.noreply.github.com>
This commit is contained in:
co-authored by
qdrant
parent
1cd0364ae4
commit
84b05117b9
@@ -501,3 +501,51 @@ client.upsert(
|
||||
ordering="strong"
|
||||
)
|
||||
```
|
||||
|
||||
|
||||
## Listener mode
|
||||
|
||||
<aside role="alert">This is an experimental feature, its behavior may change in the future.</aside>
|
||||
|
||||
In some cases it might be useful to have a qdrant node that only accumulates data and does not participate in search operations.
|
||||
There are several scenarios where this can be useful:
|
||||
|
||||
- Listener option can be used to store data in a separate node, which can be used for backup purposes or to store data for a long time.
|
||||
- Listener node can be used to syncronize data into another region, while still performing search operations in the local region.
|
||||
|
||||
|
||||
To enable listener mode, set `node_type` to `Listener` in the config file:
|
||||
|
||||
|
||||
```yaml
|
||||
storage:
|
||||
node_type: "Listener"
|
||||
```
|
||||
|
||||
Listener node will not participate in search operations, but will still accept write operations and will store the data in the local storage.
|
||||
|
||||
All shards, stored on the listener node, will be converted to the `Listener` state.
|
||||
|
||||
Additionally, all write requests sent to the listener node will be processed with `wait=false` option, which means that the write oprations will be considered successful once they are written to WAL.
|
||||
This mechanism should allow to minimize upsert latency in case of parallel snapshotting.
|
||||
|
||||
## Consensus Checkpointing
|
||||
|
||||
Consensus checkpointing is a technique used in Raft to improve performance and simplify log management by periodically creating a consistent snapshot of the system state.
|
||||
This snapshot represents a point in time where all nodes in the cluster have reached agreement on the state, and it can be used to truncate the log, reducing the amount of data that needs to be stored and transferred between nodes.
|
||||
|
||||
For example, if you attach a new node to the cluster, it should replay all the log entries to catch up with the current state.
|
||||
In long-running clusters, this can take a long time, and the log can grow very large.
|
||||
|
||||
To prevent this, one can use a special checkpointing mechanism, that will truncate the log and create a snapshot of the current state.
|
||||
|
||||
To use this feature, simply call the `/cluster/recover` API on required node:
|
||||
|
||||
```http
|
||||
POST /cluster/recover
|
||||
```
|
||||
|
||||
This API can be triggered on any non-leader node, it will send a request to the current consensus leader to create a snapshot. The leader will in turn send the snapshot back to the requesting node for application.
|
||||
|
||||
In some cases, this API can be used to recover from an inconsistent cluster state by forcing a snapshot creation.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user