Добавлен TODO по будущим доработкам доставки почты
This commit is contained in:
parent
b7e6cf7437
commit
c44d755ce0
33
TODO_Будущие_доработки.md
Normal file
33
TODO_Будущие_доработки.md
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
# TODO: Будущие доработки
|
||||||
|
|
||||||
|
## 1) Полный переход на `ReceiveOutcomingMessage`
|
||||||
|
- Сейчас в UI используется `ReceiveOutcomingMessage` с fallback на `SendMessagePair`.
|
||||||
|
- Fallback нужен только временно для совместимости со старыми серверами.
|
||||||
|
- После обновления всех серверов:
|
||||||
|
- убрать вызов `SendMessagePair` из UI,
|
||||||
|
- убрать регистрацию `SendMessagePair` на сервере (оставить только `ReceiveOutcomingMessage`).
|
||||||
|
|
||||||
|
## 2) Реальная мультисерверная доставка
|
||||||
|
- Сейчас фактически предполагается 1 сервер на пользователя.
|
||||||
|
- Нужно реализовать штатную мультисерверную схему:
|
||||||
|
- пересылка исходящих сообщений между серверами пользователя A,
|
||||||
|
- пересылка входящих сообщений между серверами пользователя B,
|
||||||
|
- дедупликация на уровне БД для затухания дублей.
|
||||||
|
|
||||||
|
## 3) Надёжная доставка при перезапуске сервера
|
||||||
|
- Сейчас возможен сценарий: запись уже сохранена в БД, но сервер не успел переслать дальше из-за перезапуска.
|
||||||
|
- Нужно добавить механизм «store + guaranteed forward»:
|
||||||
|
- очередь/аутбокс для межсерверной пересылки,
|
||||||
|
- фоновый ретрай до подтверждения отправки,
|
||||||
|
- корректная остановка (graceful shutdown) с дожатием критичных задач.
|
||||||
|
|
||||||
|
## 4) Политика идемпотентности
|
||||||
|
- Сохранить принцип: пара (`incoming`, `outgoing`) пишется одной транзакцией, либо обе, либо ни одной.
|
||||||
|
- Не допускать частичного состояния, при котором в БД есть только один блок пары.
|
||||||
|
|
||||||
|
## 5) Наблюдаемость и аналитика
|
||||||
|
- Добавить метрики по доставке:
|
||||||
|
- количество дублей,
|
||||||
|
- количество успешных вставок пар,
|
||||||
|
- доля доставок в WS/push,
|
||||||
|
- количество ретраев межсерверной пересылки.
|
||||||
@ -1,2 +1,2 @@
|
|||||||
client.version=1.2.34
|
client.version=1.2.35
|
||||||
server.version=1.2.28
|
server.version=1.2.29
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user