KV-кластер
Содержание
Распределенное KV-хранилище (etcd) — основа оперативного управления сетью Sigil Gate. Обеспечивает быстрый доступ к конфигурациям, состояниям узлов и динамическим параметрам.
Выбор технологии #
На начальном этапе выбран etcd — высокопроизводительное KV-хранилище со строгой консистентностью, используемое в крупных распределенных системах (Kubernetes).
Хранимые данные #
| Категория | Примеры |
|---|---|
| Конфигурации узлов | Настройки Core- и Entry-нод |
| Состояния узлов | Статусы активности и работоспособности |
| Маршруты и параметры | gRPC-пути, параметры TLS-соединений |
| Пользователи | Учетные данные (в хешированном виде), права доступа |
| Топология | Связи Core-нод, привязки Entry-нод |
Размещение #
На начальном этапе кластер etcd развернут непосредственно на Core-нодах — каждая Core-нода является узлом кластера.
| Аспект | Значение |
|---|---|
| Преимущество | Минимум инфраструктуры, простое развертывание |
| Ограничение | Доступность KV зависит от доступности Core-нод |
| Перспектива | Выделенный кластер при росте сети (см. развитие) |
Отказоустойчивость #
Кластер etcd построен на протоколе консенсуса Raft. Кластер из нечетного числа узлов (3, 5, …) выдерживает отказ до (N-1)/2 узлов, сохраняя работоспособность.
Управление доступом (ACL) #
| Узел | Права | Область |
|---|---|---|
| Root-нода | Полные (чтение / запись) | Все данные |
| Core-нода | Чтение + ограниченная запись | Статусы Entry-нод, ротация путей, управление пользователями |
| Entry-нода | Только чтение | Своя конфигурация, маршруты, данные аутентификации |
API для автоматизации #
KV-хранилище предоставляет HTTP/gRPC API для программного управления сетью — основу для CLI-инструментов и будущего веб-интерфейса.