Skip to content

Latest commit

 

History

History
31 lines (24 loc) · 1.47 KB

File metadata and controls

31 lines (24 loc) · 1.47 KB

Vision

Aether is a high-performance pub/sub message broker.

Publishers and subscribers on the same machine communicate directly through a POSIX shared memory ring buffer — the daemon is only involved at connection time. Remote clients connect over TCP with the same pub/sub semantics.

Local and remote are separate code paths — they do not share code.

Components

  • libaether.so — client library: local pub/sub API (shm) and remote client API (TCP).
  • aetherd — daemon: topic registry, shm segment management, TCP server for remote clients.
  • aether-cli — admin tool: pub, sub, stats, shutdown.

Roadmap

  1. TCP transport — remote pub/sub over TCP (in progress)
    • Wire protocol (length-prefixed framing)
    • Daemon TCP server (fan-out between TCP clients)
    • Remote client API in libaether.so
  2. Lock-free multi-producer — CAS-based ring buffer for concurrent publishers
  3. Aeron comparison — aether-benchmarks companion repo, head-to-head benchmarks
  4. Observability — eBPF probes, per-topic latency histograms, metrics endpoint
  5. Persistence / WAL — optional replay of missed messages (opt-in per topic)
  6. Aeron-style term buffers — replace fixed-slot ring with rotating append-only logs (variable-length messages, eliminates seqlock complexity)
  7. Performance tuning — CPU affinity, huge pages (MAP_HUGETLB), false sharing analysis
  8. Network bridge — connect two broker instances across hosts
  9. Python bindings via pybind11