From 0bb5d6ffb0fed911566377039db174db11093b2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B0=D0=BD=D0=B4=D1=80=20?= =?UTF-8?q?=D0=9A=D1=83=D0=B7=D0=BD=D0=B5=D1=86=D0=BE=D0=B2?= Date: Fri, 18 Apr 2025 08:14:34 +0000 Subject: [PATCH] Update README.md --- README.md | 137 +++++++++++++++++++----------------------------------- 1 file changed, 49 insertions(+), 88 deletions(-) diff --git a/README.md b/README.md index a3cf26740..efc038371 100644 --- a/README.md +++ b/README.md @@ -38,18 +38,17 @@
  1. О проекте +
  2. Лицензия
  3. Основные термины
  4. - -
  5. Подготовка
  6. -
  7. Компиляция
  8. -
  9. Типовые проблемы
  10. -
  11. Тестирование сборки
  12. -
  13. Пример основных команд
  14. -
  15. Кластер
  16. -
  17. Дорожная карта
  18. -
  19. Вклад
  20. -
  21. Лицензия
  22. -
  23. Контакты
  24. +
  25. Подготовка
  26. +
  27. Компиляция
  28. +
  29. Тестирование сборки
  30. +
  31. Пример основных команд
  32. +
  33. Кластер
  34. +
  35. Типовые проблемы
  36. +
  37. Дорожная карта
  38. +
  39. Вклад
  40. +
  41. Контакты
@@ -62,6 +61,12 @@ Futriix-Мультимодельная СУБД на языке С поддер Ниже приведён пример того, инструкции по настройке вашего проекта локально. Чтобы запустить локальную копию проекта, выполните следующие простые шаги. + +## Лицензия + +Проект распространяется под 3-пунктной лицензией BSD. Подробнсти смотрите в файле `COPYING.txt`. + +

(К началу)

## Основные термины @@ -103,8 +108,6 @@ Futriix-Мультимодельная СУБД на языке С поддер Futriix может быть скомпилирован для следующих операционных систем: Linux, OSX, OpenBSD, NetBSD, FreeBSD. Мы поддерживаем архитектуры endian и little endian, и 32-битные и 64-битные системы. -

(К началу)

- ### Дополнительные параметры компиляции Для сборки проекта с поддержкой TLS выпоните команду: @@ -118,14 +121,14 @@ Futriix может быть скомпилирован для следующих Для выполнения данной операции вам необходимо библиотека OpenSSL (например, libssl-dev для Debian/Ubuntu). +

(К началу)

+ ## Тестирование сборки После компиляции Futriix, рекомендуем запустить утилиту для проверки корректности сборки: - ```sh unix:$ make test ``` - ## Исправление проблем сборки с зависимостями или кэшированными параметрами сборки. Futriix содержит некоторые зависимости, которые хранятся в директории `deps`. @@ -134,11 +137,9 @@ Futriix содержит некоторые зависимости, которы Когда вы обновляете код проекта командой `git pull` или когда код внутри дерева зависимостей изменен каким-либо другим способом, обязательно используйте следующее команду для того, чтобы действительно все почистить и пересобрать с нуля: - -```sh + ```sh unix:$ make distclean -``` - + ``` В результате работы команды выше будут очищены: аллокатор памяти jemalloc, язык lua, библиотеку hiredis, библиотеку linenoise а также другие зависимости. Кроме того, если вы принудительно используете определенные параметры сборки, такие как 32-битная версия для 32-битной системы, оптимизации компилятора C в данном случае не будут выполнены. Оптимизации (для целей отладки) и другие подобные параметры времени сборки, @@ -155,100 +156,73 @@ malloc по умолчанию, за исключением jemalloc, котор проблем c фрагментацией, чем libc malloc. Чтобы принудительно скомпилировать libc malloc, выполните следующую команду: - ```sh unix:$ make MALLOC=libc ``` - Для компиляции аллокатора jemalloc на операционной системе Mac OS X, выполните команду: ```sh unix:$ make MALLOC=jemalloc ``` - ## Пример основных команд В данном разделе приведён пример основных команд субд Futriix Запускаем клиент Futriix, перейдя в каталог с исходным кодом: - - ```sh + ```sh unix:$ cd src && ./futriix-cli ``` Проверяем доступность сервера, выполняяя команду `ping`, если будет получен ответ `pong`-значит сервер доступен и работает корректно - - ```sh + ```sh 127.0.0.1:futriix:~> ping -PONG + PONG ``` - - Присваеваем значение переменной `foo` равное `bar`, командой ниже: - - ```sh + ```sh 127.0.0.1:futriix:~> set foo bar - OK + OK ``` Получаем значение переменной `foo`, командой ниже: - - ```sh + ```sh unix:$ get foo "bar" ```

(К началу)

- ## Кластер - 1. Откройте директорию с Futriix: - -```sh + ```sh unix:$ cd futriix ``` - 2. Откройте файл конфигурации futriix.conf в любом текстовом редакторе, например nano, как в примере приведённом ниже: - -```sh + ```sh unix:$ nano futriix/futriix.conf ``` - 3. Найдите и установите значения "yes" для параметров "active-replica" и "multi-master". После чего добавьте в файл конфигурации ip-адреса, узлов вашего кластера. Если вы всё сделали правильно у вас должны отобразится строки в файле конфигурации `futriix.conf` как показано ниже: - - -```sh - - active-replica yes - multi-master yes - replicaof 192.168.11.5 9880 - replicaof 192.168.11.6 9880 - replicaof 192.168.11.7 9880 - -``` - + ```sh + active-replica yes + multi-master yes + replicaof 192.168.11.5 9880 + replicaof 192.168.11.6 9880 + replicaof 192.168.11.7 9880 + ``` 4. Сохраните внесённые вами изменения, выйдите из редактора, воспользовавшись командами ниже: - - -```sh + ```sh unix:$ ctrl+O unix:$ ctrl+x ``` - 5. Перейдите в директорию Futriix и запустите скрипт `cluster.sh` с параметрами `pick` (скрипт запущенный с данным параметром "соберёт кластер"), и `run`,(скрипт запущенный с данным параметром "запустит кластер") как указано ниже: - -```sh + ```sh unix:$ ./cluster pick unix:$ ./cluster run -``` - - + ``` 6. Для остановки кластера запустите скрипт `cluster.sh` с параметром `stop` - -```sh + ```sh unix:$ ./cluster stop ```

(К началу)

@@ -257,27 +231,23 @@ PONG В данном разделе описаны типовые проблемы, возникающие при эксплуатации субд 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 -``` + ```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 -unix:$ ./futriix-server /path/to/futriix.conf - ``` + ```sh + unix:$ ./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 -``` + ```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 + ``` **Решение:** @@ -322,15 +292,6 @@ Futriix использует спинлоки для быстрой синхро 4. Отправьте в ветку (`git push origin Feature/AmazingFeature`) 5. Откройте запрос на включение - -## Лицензия - -Проект распространяется под 3-пунктной лицензией BSD. Подробнсти смотрите в файле `COPYING.txt`. - -

(К началу)

- - - ## Контакты