Update README.md

This commit is contained in:
Григорий Сафронов 2025-07-06 20:13:16 +00:00
parent 07189d1fb2
commit 023fe17ed5

View File

@ -192,40 +192,63 @@ Update successful
## Репликация ## Репликация
1. Откройте директорию с Futriix: 1. Включите репликацию в конфигурационном файле `futriix.config.toml`, установив enabled = true в секции [replication] в файле конфигурации
`futriix.config.toml`
```sh ```sh
$ cd futriix [replication]
enabled = false # Включена ли репликация
peer_nodes = [] # Список узлов для репликации (например ["192.168.1.2:8080"])
sync_interval = 1000 # Интервал синхронизации в мс
``` ```
2. Откройте файл конфигурации futriix.conf в любом текстовом редакторе, например nano, как в примере приведённом ниже: 2. Откройте файл конфигурации `futriix.config.toml` в любом текстовом редакторе, например nano, если вы всё сделали правильно, он должен выглядеть так:
```sh ```sh
$ nano futriix/futriix.conf $ nano futriix/futriix.conf.toml
``` ```
3. Проверьте, установлены ли значения "yes" для параметров "active-replica" и "multi-master" в файле конфигурации `futriix.conf`
После чего добавьте в файл конфигурации ip-адреса, узлов вашего кластера.
Если вы всё сделали правильно у вас должны отобразится строки в файле конфигурации `futriix.conf` как показано ниже:
```sh ```sh
port 7000 [server]
cluster-enabled yes ip = "127.0.0.1" # IP-адрес сервера (0.0.0.0 для доступа из сети)
cluster-config-file nodes.conf port = 8080 # Порт для TCP-сервера
cluster-node-timeout 5000 log_path = "futriix.log" # Путь к лог-файлу
appendonly yes
[client]
ip = "127.0.0.1" # IP для клиента (обычно localhost)
port = 8080 # Порт клиента (должен совпадать с серверным)
[replication]
enabled = false # Включена ли репликация
peer_nodes = [] # Список узлов для репликации (например ["192.168.1.2:8080"])
sync_interval = 1000 # Интервал синхронизации в мс
[http_api]
enabled = true # Включить HTTP API
port = 8081 # Порт для HTTP API (обычно на 1 больше основного)
``` ```
4. Сохраните внесённые вами изменения, выйдите из редактора, воспользовавшись командами ниже: 4. Сохраните внесённые вами изменения, после чего репликация будет доступна в субд, выйдите из редактора, воспользовавшись командами ниже:
```sh ```sh
$ ctrl+O $ ctrl+O
$ ctrl+x $ ctrl+x
``` ```
5. Перейдите в директорию Futriix и запустите скрипт `cluster.sh` с параметрами `pick` (скрипт запущенный с данным параметром "соберёт кластер"), и `run`,(скрипт запущенный с данным параметром "запустит кластер") как указано ниже: 5. Также для включения репликации вы можете использовать команду в `futriix-cli`:
```sh ```sh
$ ./cluster pick
$ ./cluster run futriix:~> replication on
```
Сервер автоматически начнёт синхронизацию с указанными пирами (peer_nodes) с заданным интервалом (sync_interval).
После включения сервер будет периодически отправлять команды из истории (command_history) на все пиры для поддержания согласованности данных.
### Команды для управления репликацией
В проекте добавлены следующие команды для управления репликацией:
```sh
replication on — включить репликацию
replication off — выключить репликацию
replication status — получить статус репликации (включена/выключена, список пиров, время последней синхронизации)
replication add-peer <addr> — добавить пир для репликации (например, replication add-peer 127.0.0.1:8081)
replication remove-peer <addr> — удалить пир из списка репликации
``` ```
6. Для остановки кластера запустите скрипт `cluster.sh` с параметром `stop`
```sh
$ ./cluster stop
```
<p align="right">(<a href="#readme-top">К началу</a>)</p>
## Резервное копирование ## Резервное копирование