feed流架构设计探讨

2024-08-21 21:08
文章标签 架构设计 探讨 feed

本文主要是介绍feed流架构设计探讨,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

如何设计一个feed流信息系统。

 

概念

feed:用户发表的内容

follower:A关注B,A是B的follower

followee:B被A关注,B是A的folowee

feed流:持续更新并展示folowee的内容

 

产品偏向

1:微博、twitter类

2:微信朋友圈、陌陌类

3:快手、抖音类

 

产品目标。

1:用户可以读取/存储微博

2:用户可以关注/取消关注他人

3:用户读取feed流

 

用户维度

僵尸用户、非僵尸用户

活跃用户、非活跃用户

普通用户、大V用户

百万规模、海量用户规模

 

feed流维度

近期微博、历史微博

热点微博、普通微博

已删除微博、取消关注者微博

 

 

底层存储资源设计(基于数据库设计,也可以直接基于hbase存储)

基于userId hash

关注者表(userId, follower) ,粉丝表(userId, followee)

基于userId hash,再加时间维度分库分表

内容表(feedId,userId, time,content)

 

feed流设计

推模式基于redis、hbase(userId,time,feedId),冷数据自动过期。

推模式基于MySQL(userId,time,feedId),冷数据需要手动删除。

推模式实现简单,读取性能高,缺点就是存储成本,写压力大。另外取消关注者,微博被删除,此时这些微博不可见也都需要考虑。

对于这些大v发布的信息可以采用MQ异步推送的方式,其他微博直接推送。

 

基于拉模式

缺点就是写性能高,读性能需要考虑。

增量实时聚合新能容。

1:遍历好友,找到最近发表过feed人。

2:遍历最近发表过feed的人,获取feedId和time。

3:聚合形成feed流。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

这篇关于feed流架构设计探讨的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1094285

相关文章

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

[Linux Kernel Block Layer第一篇] block layer架构设计

目录 1. single queue架构 2. multi-queue架构(blk-mq)  3. 问题 随着SSD快速存储设备的发展,内核社区越发发现,存储的性能瓶颈从硬件存储设备转移到了内核block layer,主要因为当时的内核block layer是single hw queue的架构,导致cpu锁竞争问题严重,本文先提纲挈领的介绍内核block layer的架构演进,然

一台电脑对应一个IP地址吗?‌探讨两台电脑共用IP的可能性

在当今数字化时代,‌IP地址作为网络世界中的“门牌号”,‌扮演着至关重要的角色。‌它负责在网络上唯一标识每一台设备,‌使得数据能够在庞大的互联网中准确无误地传输。‌然而,‌对于IP地址与电脑之间的对应关系,‌许多人可能存有疑惑:‌一台电脑是否必须对应一个IP地址?‌两台电脑又是否可以共用一个IP地址呢?‌本文将深入探讨这些问题,‌带您一窥IP地址背后的奥秘。‌ 一台电脑对应一个IP地址吗?‌

BUYING FEED(贪心+树状动态规划)

BUYING FEED 时间限制: 3000 ms  |  内存限制: 65535 KB 难度:4 描述 Farmer John needs to travel to town to pick up K (1 <= K <= 100)pounds of feed. Driving D miles with K pounds of feed in his truck costs D

Redis应用之Feed流关注推送

我的博客大纲 我的后端学习大纲 -------------------------------------------------------------------------------------------------------------------------------------------------# 3.好友关注: 3.1.关注和取关: a.接口说明:

系统架构师考试学习笔记第三篇——架构设计高级知识(19)嵌入式系统架构设计理论与实践

本章考点:         第19课时主要学习嵌入式系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分)。在历年考试中,案例题对该部分内容都有固定考查,综合知识选择题目中有固定分值的考查。本课时内容侧重于对知识点的记忆、理解和应用,按照以往的出题规律,嵌入式系统架构设计基础知识点基本来源于教材内。本课时知识架构如图19.1所示。 一、嵌入式系统发展历程

使用Python控制Excel应用:打开与关闭工作簿的技术性探讨

目录 引言 一、安装必要的库 1. xlwings 2. openpyxl 二、使用xlwings打开和关闭Excel工作簿 2.1 启动和退出Excel 2.2 打开和关闭工作簿 2.3 创建新工作簿 三、使用openpyxl打开和关闭Excel工作簿 3.1 打开工作簿 3.2 保存和关闭工作簿 四、案例分析 4.1 读取Excel文件中的数据 4.2 写入数据到E

系统架构师考试学习笔记第三篇——架构设计高级知识(18)面向服务架构设计理论与实践

本章考点:         第18课时主要学习面向服务架构设计理论与实践。根据考试大纲,本课时知识点会涉及单选题型(约占2~5分)和案例题(25分),本课时内容偏重于方法的掌握和应用,根据以往全国计算机技术与软件专业技术资格(水平)考试的出题规律,概念知识的考查内容多数来源于实际应用,还需要灵活运用相关知识点。         本课时知识架构如图18.1所示。 一、SOA的相关概念 (

首次揭秘,面向核心业务的全闪分布式存储架构设计与实践

当今是云计算、大数据的时代,企业业务持续增长需要存储系统的 IO 性能也持续增长。 机械盘本身的 IOPS 一直徘徊在数百的级别,为了提高传统存储的性能,有些存储厂商加了缓存层,然而目前应用正由单一走向多元化,导致 IO 特征无法预测,缓存也难以发挥作用。 机械盘依赖盘片的旋转和机械臂的移动进行 IO,目前转速基本达到物理极限,所以机械盘性能一直徘徊不前,无法满足企业核心业务对于存储性能的要求

HBase实践 | 数据人看Feed流-架构实践

背景 Feed流:可以理解为信息流,解决的是信息生产者与信息消费者之间的信息传递问题。我们常见的Feed流场景有: 手淘,微淘提供给消费者的首页商品信息,用户关注店铺的新消息等微信朋友圈,及时获取朋友分享的信息微博,粉丝获取关注明星、大V的信息头条,用户获取系统推荐的新闻、评论、八卦 关于Feed流的架构设计,包括以上场景中的很多业内专家给出了相应的思考、设计和实践。本人是大数据方向出身的技术人