一、《十万级用户》
【业务背景】
假设你现在正在一个创业公司担任 CTO,因为微信工作生活娱乐不区分,已经发生了很多次将敏感信息发错人甚至发错群的尴尬事件了!你司 CEO 决定做一款 IM 工具,为了区别微信和 QQ 大众化的 IM 需 求,你们公司主打安全 IM,这款产品的竞争力如下: 主打私密聊天,严格控制私密好友的数量,而不是像微信一样,买个菜都可能要加个微信
【公司背景】
1. 技术团队大约10个人,后端6个,前端2个,Android 2个,iOS 还没有;
2. 后端 Java 为主,大部分是 P6~P7;
3. 后端具备 MySQL、微服务、Redis 等开发使用经验;
4. 后端没有大数据和推荐相关经验。
1.存储架构设计==》
【存储性能估算】
功能 | 数据量 |
注册 | 十万用户注册信息 |
登录 | 虽然 IM 是比较活跃的产品,但由于是全新的产品,我们假设十万注册用户,每天活跃用户有40%,登录每天4万 |
加好友 | 每个活跃用户最多20个好友,好友关系数 4万 * 20 = 80万 关系数据 |
聊天 |
假设每个活跃用户每天向5位好友发送100条消息,则消息数量为:4万 * 5 * 100 = 2000万,且数据当天基本都被删除了,
所以写入、读取、删除次数都可以估算为
2000万
。
|
【存储架构设计如下】
2.计算架构设计==》
【计算性能估算】
功能 | 数据量 |
注册 |
1年达到十万用户注册,注册 TPS 很低。
|
登录 |
虽然 IM 是比较活跃的产品,但由于是全新的产品,我们假设十万注册用户,每天活跃用户有40%,假设登录时间集中在早晚4小时,登录 TPS
均值:4万 / 14400 = 3。
|
加好友 |