Перенести backlog в TODO

This commit is contained in:
AidarKC
2026-06-28 09:30:59 +04:00
parent 0cdcc77606
commit c93cc6c522
17 changed files with 39 additions and 51 deletions
@@ -0,0 +1,41 @@
# Постоянный server-to-server WS и DM sync
## Зачем
Сейчас синхронизация между серверами работает в основном как periodic sync и one-shot push. Для нормальной репликации ещё нужен постоянный межсерверный канал:
- живое подключение к партнёру;
- push новых блоков;
- push DM;
- ACK на доставку;
- backoff/reconnect;
- стартовый backfill.
## Что сделать
1. Поднять постоянное WebSocket-соединение между партнёрскими серверами.
2. Сделать push новых блоков сразу после `AddBlock`.
3. Сделать push DM-блоков между серверами.
4. Добавить ACK и повторную отправку при сбое.
5. Ввести стартовый обмен курсорами и добор хвоста.
## Что уже есть
- `ListBlockchainHeads`;
- `GetBlockchainBlock`;
- `GetSyncUserProfile`;
- базовый periodic sync;
- базовый backfill хвоста;
- базовый full resync при divergence.
## Откуда продолжать
- от текущего `sync_servers` bootstrap и `PeriodicBlockchainSyncService`;
- дальше выделить отдельный межсерверный transport layer.
## Какие документы потом обновить
- `Dev_Docs/Blockchain/sync-between-servers.md`;
- `Dev_Docs/Personal_Messages/README.md`;
- `Dev_Docs/API/`.