Delete config.toml
This commit is contained in:
219
config.toml
219
config.toml
@@ -1,219 +0,0 @@
|
|||||||
#
|
|
||||||
# Copyright 2026 Grigorii Safronov
|
|
||||||
#
|
|
||||||
# Licensed under the CDDL, Version 1.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
#
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
# https://opensource.org/licenses/CDDL-1.0
|
|
||||||
#
|
|
||||||
|
|
||||||
# Конфигурационный файл СУБД futriiX
|
|
||||||
|
|
||||||
[cluster]
|
|
||||||
name = "test_cluster"
|
|
||||||
node_ip = "192.168.0.103" # Укажите ваш реальный IP
|
|
||||||
node_port = 9876
|
|
||||||
raft_port = 9878
|
|
||||||
raft_data_dir = "raft_data"
|
|
||||||
bootstrap = true # Флаг для первого узла в кластере
|
|
||||||
nodes = [ # Список узлов кластера
|
|
||||||
"192.168.0.103:9878", # Текущий узел
|
|
||||||
# "192.168.0.104:9878", # Другие узлы кластера
|
|
||||||
# "192.168.0.105:9878",
|
|
||||||
]
|
|
||||||
|
|
||||||
# Таймауты Raft
|
|
||||||
heartbeat_timeout_ms = 1000 # Интервал heartbeat от лидера
|
|
||||||
election_timeout_ms = 1000 # Таймаут до начала выборов
|
|
||||||
commit_timeout_ms = 500 # Таймаут коммита
|
|
||||||
|
|
||||||
# Snapshot настройки
|
|
||||||
snapshot_interval_min = 30 # Интервал создания снапшотов
|
|
||||||
snapshot_threshold = 1000 # Кол-во логов до снапшота
|
|
||||||
|
|
||||||
# Split-brain защита
|
|
||||||
split_brain_prevention = true # Включить защиту от split-brain
|
|
||||||
recovery_timeout_sec = 30 # Таймаут восстановления
|
|
||||||
|
|
||||||
# Региональные настройки
|
|
||||||
region = "default" # Регион узла
|
|
||||||
priority_zone = 0 # Приоритетная зона (0-9)
|
|
||||||
|
|
||||||
[storage]
|
|
||||||
page_size_mb = 64
|
|
||||||
max_collections = 100
|
|
||||||
max_documents_per_collection = 1000000
|
|
||||||
|
|
||||||
[repl]
|
|
||||||
prompt_color = "#00bfff"
|
|
||||||
history_size = 1000
|
|
||||||
|
|
||||||
[log]
|
|
||||||
log_file = "futriix.log"
|
|
||||||
log_level = "debug"
|
|
||||||
|
|
||||||
[api]
|
|
||||||
port = 8080 # Порт для HTTP API сервера
|
|
||||||
|
|
||||||
[replication]
|
|
||||||
enabled = false
|
|
||||||
master_master = false
|
|
||||||
sync_replication = false
|
|
||||||
replication_timeout_ms = 5000
|
|
||||||
|
|
||||||
[compression]
|
|
||||||
enabled = true # Включить сжатие данных
|
|
||||||
algorithm = "snappy" # Алгоритм: snappy, lz4, zstd
|
|
||||||
level = 3 # Уровень сжатия (1-9, зависит от алгоритма)
|
|
||||||
min_size = 1024 # Минимальный размер документа для сжатия (байт)
|
|
||||||
|
|
||||||
[webui]
|
|
||||||
enabled = true # Включить веб-интерфейс
|
|
||||||
port = 9080 # Порт для веб-интерфейса
|
|
||||||
theme = "dark" # Тема оформления (dark, light)
|
|
||||||
|
|
||||||
# ========== ПАРАМЕТРЫ ДЛЯ PERFORMANCE ==========
|
|
||||||
[performance]
|
|
||||||
enable_pipeline = true # Pipeline репликация
|
|
||||||
batch_size = 100 # Размер батча операций
|
|
||||||
read_from_follower = true # Чтение из реплик
|
|
||||||
max_connections = 1000 # Максимум соединений
|
|
||||||
|
|
||||||
# ========== ПАРАМЕТРЫ БЕЗОПАСНОСТИ ==========
|
|
||||||
[security]
|
|
||||||
enable_tls = false # Включить TLS
|
|
||||||
cert_file = "" # Путь к сертификату
|
|
||||||
key_file = "" # Путь к ключу
|
|
||||||
ca_file = "" # Путь к CA
|
|
||||||
min_version = "1.2" # Минимальная версия TLS
|
|
||||||
|
|
||||||
# ========== ПАРАМЕТРЫ МОНИТОРИНГА ==========
|
|
||||||
[monitoring]
|
|
||||||
enable_metrics = true # Включить Prometheus метрики
|
|
||||||
metrics_port = 9090 # Порт для метрик
|
|
||||||
enable_tracing = false # Включить распределённый трейсинг
|
|
||||||
trace_sample_rate = 0.01 # Частота сэмплирования (0-1)
|
|
||||||
|
|
||||||
# ========== ПАРАМЕТРЫ ВОССТАНОВЛЕНИЯ ==========
|
|
||||||
[recovery]
|
|
||||||
auto_rejoin = true # Автоматическое переподключение
|
|
||||||
max_retry_sec = 300 # Максимальное время повторов
|
|
||||||
data_replication_timeout_sec = 60 # Таймаут репликации данных
|
|
||||||
stale_read_timeout_sec = 30 # Таймаут для устаревших чтений
|
|
||||||
|
|
||||||
# ========== НАСТРОЙКИ WAL ==========
|
|
||||||
[wal]
|
|
||||||
segment_size_mb = 64 # Размер сегмента WAL (MB)
|
|
||||||
sync_interval_sec = 5 # Интервал синхронизации с диском
|
|
||||||
batch_size = 100 # Размер пакета записи
|
|
||||||
recovery_workers = 4 # Количество воркеров для parallel recovery
|
|
||||||
enabled = true # Включить WAL
|
|
||||||
async_recovery = true # Асинхронное восстановление
|
|
||||||
async_recovery_workers = 4 # Количество воркеров
|
|
||||||
async_recovery_buffer = 10000 # Размер буфера
|
|
||||||
|
|
||||||
|
|
||||||
# ========== НАСТРОЙКИ MVCC ==========
|
|
||||||
[mvcc]
|
|
||||||
max_versions_per_doc = 10 # Максимум версий документа (0 = отключено)
|
|
||||||
visibility_map_size = 1048576 # Размер карты видимости (1M)
|
|
||||||
prune_interval_min = 5 # Интервал очистки версий (минут)
|
|
||||||
retention_days = 7 # Дни хранения старых версий
|
|
||||||
read_cache_size = 10000 # Размер кэша чтения
|
|
||||||
read_cache_ttl_sec = 300 # TTL кэша (5 минут)
|
|
||||||
|
|
||||||
# ========== НАСТРОЙКИ ТРАНЗАКЦИЙ ==========
|
|
||||||
[transactions]
|
|
||||||
default_timeout_sec = 30 # Таймаут транзакции по умолчанию
|
|
||||||
deadlock_check_interval_sec = 1 # Интервал проверки дедлоков
|
|
||||||
max_savepoints_per_tx = 100 # Максимум точек сохранения
|
|
||||||
two_phase_commit_timeout_sec = 10 # Таймаут 2-phase commit
|
|
||||||
enabled = true # Включить поддержку транзакций
|
|
||||||
checkpoint_interval_sec = 300 # Интервал чекпоинтов (сек)
|
|
||||||
|
|
||||||
# ========== НАСТРОЙКИ ACL ==========
|
|
||||||
[acl]
|
|
||||||
max_denied_log_size = 10000 # Максимум записей в логе отказов
|
|
||||||
temporary_grant_ttl_hours = 24 # TTL временных разрешений
|
|
||||||
enable_role_hierarchy = true # Включить иерархию ролей
|
|
||||||
cache_ttl_sec = 60 # TTL кэша ACL
|
|
||||||
|
|
||||||
# ========== НАСТРОЙКИ ПЛАГИНОВ (расширенные) ==========
|
|
||||||
[plugins]
|
|
||||||
enabled = false # Включить плагины
|
|
||||||
script_dir = "plugins" # Директория плагинов
|
|
||||||
allow_list = ["print", "math", "string"]
|
|
||||||
max_lua_states = 100 # Максимум Lua-состояний
|
|
||||||
lua_state_ttl_sec = 600 # TTL неиспользуемого состояния (сек)
|
|
||||||
max_cpu_time_ms = 100 # Лимит CPU на плагин (ms)
|
|
||||||
max_memory_mb = 50 # Лимит памяти на плагин (MB)
|
|
||||||
max_execution_time_sec = 5 # Лимит времени выполнения
|
|
||||||
max_instructions = 1000000 # Лимит инструкций Lua
|
|
||||||
hot_reload_interval_sec = 30 # Интервал проверки изменений
|
|
||||||
max_event_log_size = 1000 # Максимум записей в логе плагина
|
|
||||||
load_timeout_sec = 10 # Таймаут загрузки плагина
|
|
||||||
|
|
||||||
# ========== НОВЫЕ СЕКЦИИ КОНФИГУРАЦИИ ==========
|
|
||||||
|
|
||||||
# Настройки TLS для межузлового общения
|
|
||||||
[cluster_tls]
|
|
||||||
enabled = true # Включить TLS
|
|
||||||
cert_file = "certs/node.crt" # Путь к сертификату
|
|
||||||
key_file = "certs/node.key" # Путь к ключу
|
|
||||||
ca_file = "certs/ca.crt" # Путь к CA (для взаимной аутентификации)
|
|
||||||
min_version = "1.2" # Минимальная версия TLS
|
|
||||||
mutual_auth = true # Взаимная аутентификация
|
|
||||||
key_rotation_days = 30 # Дни до ротации ключей
|
|
||||||
auto_generate = true # Автогенерация сертификатов
|
|
||||||
|
|
||||||
# Настройки backpressure при перегрузке
|
|
||||||
[backpressure]
|
|
||||||
enabled = true # Включить backpressure
|
|
||||||
cpu_threshold = 0.80 # Порог CPU для срабатывания (0-1)
|
|
||||||
memory_threshold = 0.85 # Порог памяти для срабатывания (0-1)
|
|
||||||
queue_size_threshold = 10000 # Порог размера очереди
|
|
||||||
connection_threshold = 5000 # Порог количества соединений
|
|
||||||
check_interval_ms = 1000 # Интервал проверки (мс)
|
|
||||||
low_delay_ms = 100 # Задержка при низкой нагрузке (мс)
|
|
||||||
medium_reject_prob = 30 # Вероятность отклонения при средней (%%)
|
|
||||||
high_reject_prob = 70 # Вероятность отклонения при высокой (%%)
|
|
||||||
|
|
||||||
# Настройки runtime-ограничений
|
|
||||||
[runtime_limits]
|
|
||||||
enabled = true # Включить ограничения
|
|
||||||
global_max_doc_size_mb = 16 # Макс. размер документа (MB)
|
|
||||||
global_max_coll_size_mb = 10240 # Макс. размер коллекции (MB) (10 GB)
|
|
||||||
global_max_docs_per_coll = 10000000 # Макс. документов в коллекции
|
|
||||||
|
|
||||||
# Настройки автомасштабирования[autoscaling]
|
|
||||||
enabled = false # Включить автомасштабирование
|
|
||||||
min_nodes = 1 # Минимум узлов
|
|
||||||
max_nodes = 10 # Максимум узлов
|
|
||||||
scale_up_threshold = 0.75 # Порог для увеличения (0-1)
|
|
||||||
scale_down_threshold = 0.30 # Порог для уменьшения (0-1)
|
|
||||||
scale_up_cooldown_sec = 300 # Cooldown после увеличения (сек)
|
|
||||||
scale_down_cooldown_sec = 600 # Cooldown после уменьшения (сек)
|
|
||||||
evaluation_interval_sec = 30 # Интервал оценки (сек)
|
|
||||||
predictive_enabled = true # Прогнозирование нагрузки
|
|
||||||
max_scale_up_nodes = 3 # Макс. узлов за одно увеличение
|
|
||||||
max_scale_down_nodes = 2 # Макс. узлов за одно уменьшение
|
|
||||||
|
|
||||||
# Настройки миграции схемы данных
|
|
||||||
[schema_migration]
|
|
||||||
enabled = true # Включить миграции
|
|
||||||
migration_dir = "migrations" # Директория с миграциями
|
|
||||||
auto_migrate = true # Автоматическая миграция при старте
|
|
||||||
target_version = "2.1.0" # Целевая версия схемы
|
|
||||||
|
|
||||||
# Настройки бэкапов
|
|
||||||
[backup]
|
|
||||||
enabled = true # Включить планировщик бэкапов
|
|
||||||
backup_dir = "backups" # Директория для бэкапов
|
|
||||||
max_concurrent = 1 # Макс. одновременных бэкапов
|
|
||||||
compress_enabled = true # Сжатие бэкапов
|
|
||||||
retention_days = 7 # Дни хранения бэкапов
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user