System design of WhatsApp/Message/WeChat(4S)

设计一个即时聊天系统
Scenario: 都是设计什么功能?
登陆注册
通讯录
两个用户互相发消息
多个用户互相发消息
用户的在线状态
其他高级功能:历史消息和多设备登录
然后要设计的多牛批?
1B MAU 750M DAU
Average QPS and peak QPS
为了储存相关信息 每天会新增多少使用空间?

service:
Message service:信息的管理
real-time service:信息的推送

storage:
我们肯定需要message table.
在这里插入图片描述
但是如果我们想差一些什么东西 搞个条件搜索 但是where语句十分复杂会导致SQL效率低下,如果是多人聊天的话 这种表还是需要变的。而且还有一些其他的功能需要实现 因此我们设计了新的信息更完善的表

在这里插入图片描述
所以我们选择储存结构的话 可以选用NoSQL或者SQL
在这里插入图片描述

Scale:
详见《scale step of system design of whatsApp》

posted @ 2020-10-25 23:06  EvanMeetTheWorld  阅读(24)  评论(0)    收藏  举报