diff --git a/README.md b/README.md index e0c0971..de1f737 100644 --- a/README.md +++ b/README.md @@ -238,19 +238,84 @@ futriix - это легковесная, распределённая NOSQL, и ## Системные требования > [!CAUTION] -> **Важно: Операционные системы семейства Windows и MacOS X не поддерживаются!** +> **СУБД работает только на Unix‑подобных ОС. Поддержка Windows и macOS не предусмотрена!** +> **Важно: из‑за архитектурных особенностей (из‑за архитектурных особенностей в т.ч. низкоуровневых системных вызовов, специфичных для POSIX‑совместимых ядер) запуск на Windows(включая WSL) и macOS не поддерживается!** -> [!WARNING] -> - Процессор: Intel или AMD -> - Оперативная память: 6ГБ (Для Linux) 8ГБ (Для Illumos sytems) -> - Операционная система: только на базе ядра Illumos (OmniOS, OpenIndiana) или на базе ядра Linux (Debian,Ubuntu, Linux Mint Fedora Linux) -> - Утилиты: curl, zip и unzip -> - Язык программирования (для разработчиков): Go 1.25 или выше +####Системные требования + +**Поддерживаемые платформы** + +* Linux (ядро 5.4+): Debian, Ubuntu, Linux Mint, Fedora и аналоги +* Illumos‑based: OmniOS, OpenIndiana и аналоги + +####Аппаратные требования + +- **Процессор**: 64‑битный Intel или AMD (x86‑64). +- **Оперативная память**: + - Linux: минимум 6 ГБ. + - Illumos: минимум 8 ГБ (из‑за особенностей управления памятью и ZFS по умолчанию). + +> [!IMPORTANT] +> Для нагрузочного тестирования, шардинга и одновременной работы множества шардов/узлов рекомендуется не менее 16 ГБ на узел.
(К началу)
+####Программные зависимости и утилиты + +На целевой ОС должны быть доступны следующие утилиты: + +* curl — для HTTP‑взаимодействия и внутренних запросов между узлами +* zip / unzip — для работы с архивными форматами при бэкапах и миграции + +```sh +curl --version +zip -v +unzip -v +``` + + +####Требования для разработчиков + +**Для сборки и доработки кода требуется:** + +* Go: версия 1.25 или выше. +* Проверка версии: go version. + +Рекомендуется использовать `go mod` и убедиться, что `$GOPATH` и `$GOROOT` настроены корректно. + + +####Дополнительные рекомендации (production / high‑load) + +**Эти пункты не обязательны для запуска, но критичны для надёжности и производительности в распределённой среде:** + +* Дисковая подсистема: SSD/NVMe; HDD допустим только для тестов. +* Файловая система: предпочтительно ZFS (особенно на Illumos) или XFS/ext4 на Linux. +* Сеть: стабильное соединение между узлами, желательно 1 Gbps+; для Raft‑кластеров важна низкая задержка (latency). +* Время: синхронизация времени между узлами (NTP/Chrony) обязательна для корректной работы MVCC, WAL и транзакций. + + +####Минимальные сценарии проверки перед установкой + +Перед деплоем можно быстро проверить соответствие требованиям: + +```sh +# ОС и ядро +uname -s -r + +# Память (свободная и общая) +free -h + +# Утилиты +which curl zip unzip + +# Go +go version + +``` + + ## Подготовка и компиляция 1. Клонируйте репозиторий: