Документ по нескольким листенерам с независимыми пулами бэкендов

Анализ текущего состояния и перечень изменений для классического
режима облачного балансировщика: несколько листенеров (публичных
и/или приватных), каждый со своим независимым пулом.

Подтверждено на стенде: сейчас все листенеры делят один POOL_ID и
одну таблицу слотов (reg1 -> reg2), member_id глобален. multipath
для разных листенеров с одним POOL_ID даёт одинаковый номер слота
для совпадающего 5-tuple — пулы физически не разделены.

Предложена схема reg4 = pool_id: таблица слотов становится общей
для всех пулов с матчем (reg4, reg1), FlowBundle.flow delete
фильтруется по reg4 для инкрементального обновления одного пула.
Замер: 1024 правила заливаются бандлом за 86 мс.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
ayurishchevandClaude Opus 5 committed 2026-08-17 21:28:02 +03:00
1 parent be34fb0492
commit 69b9b56ccd
2 files changed
+321 -1

No files matched your search

+2 -1
View File
@@ -26,7 +26,8 @@
(справка по `hc/maglev.go` для разработки). Что нужно изменить для перевода ноды
на OVS-DPDK в ПРОД — [docs/OVS_DPDK_MIGRATION.md](docs/OVS_DPDK_MIGRATION.md),
на мультитенантную схему (100+ тенантов, изоляция уровня VRF) —
[docs/MULTITENANCY.md](docs/MULTITENANCY.md).
[docs/MULTITENANCY.md](docs/MULTITENANCY.md), на несколько листенеров с
независимыми пулами бэкендов — [docs/MULTI_LISTENER_POOLS.md](docs/MULTI_LISTENER_POOLS.md).
Потоки данных описаны отдельно для каждого вида балансировки:
[публичный трафик](docs/PUBLIC_LB_DATAFLOW.md) — клиент из клиентской сети на