NonFunc-Reliability
Goal
Question1: Whether to save messages for online users
Initial design: Directly forwarding

Prefer to save message first for reliability
Question2: Is network layer realiability enough?
Why TCP not enough
Flowchart with business logic layer ack
Online user (Not considering message roaming)

Offline user (Not considering message roaming)

What if not receiving ack ?? Resend and dedupe

What if IM server crash?? Completeness check

Question3: Will offline syncing plenty of msgs become bottleneck
Step5/7 perf: Reduce the roundtrip between client and server
Last updated
Was this helpful?