中等
技术面试0 次浏览

腾讯的社交业务(如微信)需要处理海量用户消息。请设计一个高可用的消息存储系统,要求支持消息的快速写入、读取和分页查询,并考虑数据一致性和系统扩展性。

腾讯后端工程师
系统设计分布式系统高可用

答题要点

1. 考虑分库分表策略,按用户ID或时间分片。 2. 使用消息队列(如Kafka)削峰填谷,异步写入存储。 3. 存储层可采用LSM树结构的数据库(如HBase)或时序数据库。 4. 引入缓存层(如Redis)加速热点数据访问。 5. 设计读写分离和副本机制保证高可用。