50 lines
3.6 KiB
Markdown
50 lines
3.6 KiB
Markdown
# План: разделение документа потоков данных
|
|
|
|
**Дата:** 2026-08-17
|
|
**Итоги:** [CHANGE_SPLIT_DATAFLOW_DOCS_SUMMARY.md](CHANGE_SPLIT_DATAFLOW_DOCS_SUMMARY.md)
|
|
|
|
## Задача
|
|
|
|
`docs/ROUTING_DATAFLOW.md` после шага 3 описывает сразу два разных сценария
|
|
балансировки — публичный и приватный — в одном наборе диаграмм. Читателю,
|
|
которому нужен конкретный сценарий, приходится вычитывать его из общего
|
|
конвейера и мысленно отбрасывать чужие ветки.
|
|
|
|
Разделить на два самостоятельных документа: по одному на каждый вид
|
|
балансировки.
|
|
|
|
## Что делаем
|
|
|
|
1. **`docs/PUBLIC_LB_DATAFLOW.md`** — балансировка публичного трафика: клиент из
|
|
`192.168.5.0/24`, VIP `192.168.5.21:80`, маршрутизируемый путь до члена пула
|
|
и обратно. Сюда же — ARP- и ICMP-респондеры публичного сегмента, обучение
|
|
adjacency клиента, обратный путь через `ct`, профиль A как условие возврата
|
|
ответа.
|
|
2. **`docs/PRIVATE_LB_DATAFLOW.md`** — балансировка приватного трафика: клиент
|
|
внутри сегмента, VIP `10.20.0.100:80` / `10.30.0.100:80`, два пути выдачи
|
|
(коммутируемый для соседа по сегменту и маршрутизируемый для члена из
|
|
другого сегмента), обратная трансляция в таблице 24, коммутация в таблице 25.
|
|
3. **Удалить `docs/ROUTING_DATAFLOW.md`** — его содержимое целиком переходит в
|
|
два новых документа.
|
|
4. Обновить ссылки: `README.md`, `docs/STEP3_IMPLEMENTATION_PLAN.md`.
|
|
|
|
## Принципы разделения
|
|
|
|
- Каждый документ самодостаточен: своя топология портов, своя карта таблиц,
|
|
свои точки обрыва потока и свои ограничения. Дублирование общих сведений
|
|
допустимо — читатель не должен ходить между файлами.
|
|
- В карте таблиц каждого документа перечислены только таблицы, участвующие в
|
|
его сценарии, с пометкой о назначении именно в этом пути.
|
|
- Общие подсистемы (health-check, транзит между сегментами, egress бэкендов)
|
|
описываются в том документе, где они влияют на путь: health-check — кратко в
|
|
обоих, транзит и коммутация сегмента — в приватном.
|
|
- Диаграммы mermaid сохраняются, но каждая перерисовывается под свой сценарий
|
|
без чужих ветвей.
|
|
|
|
## Критерии приёмки
|
|
|
|
- Ни в одном из двух документов нет диаграммы, смешивающей публичный и
|
|
приватный путь.
|
|
- В README есть ссылки на оба документа с пояснением, какой для чего.
|
|
- Ссылок на удалённый `ROUTING_DATAFLOW.md` в репозитории не осталось.
|