Real-time systems become fragile when every event is treated as equally urgent. Define message classes, acceptable latency, and drop behavior before choosing infrastructure.

Clients need explicit reconnect behavior and a way to detect gaps. Servers need bounded buffers, heartbeats, authentication renewal, and protection from consumers that cannot keep up.

Observe queue depth, delivery lag, reconnect frequency, and dropped messages. These signals tell you whether the system is genuinely real-time or merely accumulating hidden delay.