在头条悟空问答上有个问题“服务器中即时通讯聊天记录怎么存储?"
本人理解出现了偏差,从另一个角度回答了这个问题,但我觉得还是可以给有需要的人一个参考,分享给大家看看吧!
像微信、淘宝、京东这类高并发的应用软件,记录的存储应该有几个层次。
首先,近期的记录,比如可撤回的时间内,这些记录先保存在内存数据库中。几分钟之后,这些记录才会保存到硬盘存储中。
为了支持高并发和高速读取,技术上会将读写分离开来,并自动找最近的存储保存。
读写分离是指在保存记录的时候,先保存放在一个数据库中,同时这些数据会慢慢同步到另一个数据库中,当你查阅记录的时候,就从这个数据库调出来。从而将数据的读和写分开来,提高数据处理的效率。
而为了提高应用体验,服务商会在全国不同区域设置服务器,你在北京和深圳,后台支持的服务器可能是不同的。
过于长久的记录,会分离到更低速便宜的硬盘中,而过于长久的历史数据,服务商会备份在磁带中。
閱讀更多 我家有個熊孩子 的文章