System Design: Facebook Messenger (5+ approaches)