数据人看Feed流-架构实践( 六 )
因此我们需要一个高吞吐、易扩展、低延迟、高可用、低成本的Feed流架构
主流架构
图1是对Feed流的最简单抽象 , 完成一个从生产者向消费者传递消息的过程 。
图1 Feed流简单抽象
消息和关系
首先 , 用户在APP侧获得的是一个Feed ID列表 , 这个列表不一定包含了所有的新消息 , 用户也不一定每一个都打开浏览 , 如果传递整个消息非常浪费资源 , 因此产生出来的消息首先生成主体和索引两个部分 , 其中索引包含了消息ID和元数据 。 其次一个应用总是存在关系 , 基于关系的传递是必不可少的 , 也因此一定有一个关系的存储和查询服务 。
图2 Feed流消息、关系的存储
消息本身应该算是一种半结构化数据(包含文字 , 图片 , 短视频 , 音频 , 元数据等) 。 其读写吞吐量要求高 , 读写比例需要看具体场景 。 总的存储空间大 , 需要很好的扩展性来支撑业务增长 。 消息可能会有多次更新 , 比如内容修改 , 浏览数 , 点赞数 , 转发数(成熟的系统会独立一个counter模块来服务这些元数据)以及标记删除 。 消息一般不会永久保存 , 可能要在1年或者3年后删除 。
推荐阅读
- 捉迷藏|?LOL世界赛“含金量”数据出炉:EDG仅排第六,IG稳居榜首
- 碧蓝航线|碧蓝航线SR重巡福煦数据详解 期待越高失望越大 强度平平无奇
- kramer|国服极地大乱斗数据上线,来看看胜率榜符合你的预期吗?
- 米莱狄|峡谷数据榜:分均输出TOP5,干将莫邪只排第四,米莱狄至今被误解
- |S11淘汰赛数据盘点:场均时长为33分 55个不同英雄登场
- 中单|2021年英雄联盟世界赛终于落下帷幕!!大数据统计二!!
- 灵饰|梦幻西游:109级法系前排灵饰选择方法,用数据告诉你怎么做
- 卡牌|S11淘汰赛数据出炉,卡牌24场全被ban,压刀最多竟是辅助
- edg战队|堡垒之夜国服将清除数据,EDG创造队史晋级S11世界赛决赛
- 电子竞技|鱿鱼游戏:给成年人看的童话故事