diff --git a/README.md b/README.md index 52a078d..069fa04 100644 --- a/README.md +++ b/README.md @@ -41,6 +41,10 @@
(К началу)
+ +## Кластер + +1. Откройте директорию с Futriix: + ```sh + $ cd futriix + ``` +2. Откройте файл конфигурации futriix.conf в любом текстовом редакторе, например nano, как в примере приведённом ниже: + ```sh + $ nano futriix/futriix.conf + ``` +3. Проверьте, установлены ли значения "yes" для параметров "active-replica" и "multi-master" в файле конфигурации `futriix.conf` + После чего добавьте в файл конфигурации ip-адреса, узлов вашего кластера. + Если вы всё сделали правильно у вас должны отобразится строки в файле конфигурации `futriix.conf` как показано ниже: + ```sh + port 7000 + cluster-enabled yes + cluster-config-file nodes.conf + cluster-node-timeout 5000 + appendonly yes + + ``` +4. Сохраните внесённые вами изменения, выйдите из редактора, воспользовавшись командами ниже: + ```sh + $ ctrl+O + $ ctrl+x + ``` +5. Перейдите в директорию Futriix и запустите скрипт `cluster.sh` с параметрами `pick` (скрипт запущенный с данным параметром "соберёт кластер"), и `run`,(скрипт запущенный с данным параметром "запустит кластер") как указано ниже: + ```sh + $ ./cluster pick + $ ./cluster run + ``` +6. Для остановки кластера запустите скрипт `cluster.sh` с параметром `stop` + ```sh + $ ./cluster stop + ``` +(К началу)
+ +## Проблемы + +В данном разделе описаны типовые проблемы, возникающие при эксплуатации субд Futrix. + +1. **Описание проблемы:** При запуске инстанса futriix, появляется следующее сообщение: + ```sh + Warning: no config file specified, using the default config. In order to specify a config file use ./futriix-server /path/to/futriix.conf + ``` + +**Решение:** + +При запуске инстанса сервера futriix, указать корректный путь до файла конфигурации, командой ниже: +```sh + $ ./futriix-server /path/to/futriix.conf +``` + +2. **Описание проблемы:** При запуске инстанса Futriix, появляется следующее сообщение: + ```sh + 1:12:S 18 Apr 2025 04:47:25.643 # NOTICE: Detuning locks due to high load per core: 97.49% + 1:12:S 18 Apr 2025 04:47:55.491 # NOTICE: CPU pressure reduced + ``` + +**Решение:** + +Это штатная ситуация, и она не является ошибкой и не вызывает проблем. Суть этого сообщения в том, что futriix пытается корректно обработать ситуацию с превышением нагрузки на ЦП. + +Futriix использует спинлоки для быстрой синхронизации. Когда нагрузка на ЦП превышает 100% на ядро, ядро может неосознанно предоставить время ЦП заблокированному потоку, который находится в состоянии ожидания, вместо активного потока. Это приводит к значительно большей задержке. + +Когда такая ситуация обнаруживается, Futriix будет крутиться в ожидании меньшего времени, прежде чем приостановить поток. Это приводит к лучшей пропускной способности, когда время ЦП ограничено. Однако «правильным» решением является обеспечение того, чтобы время ЦП не было так ограничено. + +(К началу)
+ + +## Дорожная карта + +- [x] Добавить поддержку хранимых процедур +- [x] Добавить поддержку многопоточности +- [x] Изменить приглашение командной строки клиента futriix-cli +- [x] Добавить в скрипт cluster.sh, формирующий кластер Futriix, цветовые текстовые индикаторы состояния процесса с левой стороны +- [x] Добавить поддержку модуля для работы с JSON +- [x] Удалить поддержку Sentinel +- [x] Добавить поддержку хранимых процедур +- [x] Добавить поддержку языка запросов SQL +- [x] Добавить поддержку запуска внешних команд ОС из субд +- [x] Добавить макет интеллектуального помощника FutBot +- [ ] Реализовать поддержку алгоритма Raft +- [ ] Реализовать поддержку роли Podman для автоматического развёртывания кластера в виртуальной среде +- [ ] Реализовать планировщик задач,основанный на вытесняющей многозадачности +- [ ] Реализовать поддержку ACID-транзакций +- [ ] Реализовать полноценного интеллектуального помощника FutBot, задачами которого будут быстрый поиск ответов на вопросы, возникающие при эксплуатации субд Futrix. + +См. [Открытые проблемы](https://source.futriix.ru/gvsafronov/futriix/issues) полный список предлагаемых функций (и известных проблем). + +(К началу)
+ + + + ## Вклад