Roadmap¶
Phase 1 — Core Reliability (done)¶
- Базовый pub/sub
- Publisher retry task (100ms check, 10s timeout)
- Publisher NACK handling (immediate resend)
- Server sliding window per subscriber
- Server retry task (500ms check)
- poll_fn connection loop (TCP deadlock prevention)
- Zero-copy serialization
- NotifyChannel
- Peak: ~2.45 GB/s end-to-end
Phase 2 — Security & Production¶
- TLS/mTLS (
rustlsилиnative-tls) - Certificate-based authentication
- ACL для очередей (кто может писать/читать)
- Configuration system (TOML/YAML, env vars, CLI overrides)
- Structured logging (
tracing) - Prometheus metrics
Phase 3 — Advanced Features¶
- Message persistence для Durable/Invulnerable на стороне сервера
- Dead Letter Queue (сообщения после N retries)
- Priority queues (High/Normal/Low)
- Web dashboard для мониторинга
- Request-Response pattern для RPC между shards
Phase 4 — Scale & Performance¶
- Server clustering (gossip protocol или shared state)
- Connection pooling на клиенте
- UDP/realtime mode (без acks, для VOIP/games)
- Compression (LZ4/zstd для больших сообщений)
- Topic patterns с wildcards (
shard.*,shard.1.events)
Открытые TODO в коде¶
| Файл | Описание |
|---|---|
client/src/publisher.rs |
Address handling: принимать SocketAddr / impl ToSocketAddrs |
client/src/publisher.rs |
Exponential backoff для retries |
client/src/publisher.rs |
Max retry count перед ошибкой |
server/src/lib.rs |
Dead Letter Queue при исчерпании retries |