Sobes.tech
Middle+

Design a scalable messenger: only personal chats, sending text and images, online and offline delivery via push notifications, statuses "sent/delivered/read", chat history, and online/offline presence status. Constraints: up to 10 million users, average load up to 50k messages/sec, peak — up to 100k messages/sec, messages must not be lost, system must scale horizontally; P99 online delivery — up to 400 ms.