DEV Community

Gwang-o Yun
Gwang-o Yun

Posted on

Titan: Real-time message dispatch, made lightweight

Title: I’ve been building Titan, a lightweight real-time message dispatcher in Java

Hey everyone,

I’ve been working on an open-source project called Titan. It’s a lightweight message dispatcher written in Java, focused on real-time, in-memory message delivery without requiring a large broker setup.

Titan currently supports:

  • STOMP over TCP and WebSocket
  • TLS and secure WebSocket connections
  • Fan-out message delivery
  • A Spring Boot client with listeners and automatic reconnection
  • Native Titan and Vert.x client implementations behind the same API
  • Queue and JVM monitoring through a small Go CLI

The networking layer is implemented directly on Java NIO, including the event loops, channel pipeline, WebSocket framing, and TLS handling. A lot of the recent work has been around connection stability, buffer ownership, flow control, and keeping the public client API simple.

Titan is still pre-1.0, so I’m not presenting it as a replacement for Kafka or RabbitMQ. It currently makes more sense for lightweight real-time dispatch where persistence and durable messaging are not required.

I’d especially appreciate feedback on the API, networking design, documentation, or anything that would make the project easier to try.

GitHub: https://github.com/traffic-hunter/titan
Documentation: https://traffic-hunter.gitbook.io/titan/

Top comments (0)