高并发系统学习 Day15 信息流系统的推模式

166 阅读1分钟
设计信息流系统的关注点有哪些:
    1)关注延迟数据,也就是说,你关注的人发了微博信息之后,信息需要在短时间之内出现在你的信息流中。
    2)要考虑如何支撑高并发的访问。
    3)信息流拉取性能直接影响用户的使用体验。
 
 如何基于推模式实现信息流系统:
     推模式是指用户发送一条微博后,主动将这条微博推送给他的粉丝,从而实现微博的分发,也能以此实现
     微博信息流的聚合。
 推模式存在的问题和解决思路:
     首先,就是消息延迟。
     

image.png

    在推模式下,你需要关注的是微博的写入性能,因为用户每发一条微博,都会产生多次的数据库写入。为了尽量减少微博写入的延迟,我们可以从两方面来保障。
    一方面,在消息处理上,你可以启动多个线程并行地处理微博写入的消息。
    另一方面,由于消息流在展示时可以使用缓存来提升读取性能,所以我们应该尽量保证数据写入数据库的性能,必要时可以采用写入性能更好的数据库存储引擎。
    
    其次,存储成本很高。由于推模式需要给每一个用户都维护一份收件箱的数据,所以数据的存储量极大。
    
    

此文章为6月Day15学习笔记,内容来源于极客时间《高并发系统设计 40 问》