首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

面试问题:如何设计一个微博

需求明确 功能需求:发表推文、关注/取消关注用户、生成信息流、通知和搜索。 非功能需求:系统必须高度可用、可扩展,并提供实时更新。 2. 高级系统设计 用户服务:管理用户账户和资料。...推文服务:处理推文的发布、删除和检索。 关注服务:管理关注和取消关注操作以及粉丝列表。 信息流服务:为用户时间线聚合推文。 通知服务:为各种活动发送通知。...搜索服务:允许用户搜索推文、话题标签和用户。 3. 数据库设计 用户数据:存储与用户相关的数据(用户名、电子邮件、密码、资料信息)。 推文数据:存储推文内容、元数据(时间戳、作者)。...索引:有效地搜索和检索推文和用户。 4. 可扩展性和性能 微服务架构:将功能划分为微服务,以实现可扩展性和可维护性。 数据库分片:根据用户ID或推文ID进行数据库分片,实现负载分布。...缓存:为频繁访问的数据实现缓存,减少数据库负载。 负载均衡:使用负载均衡器在服务器之间分配流量。 5. 实时信息流生成 推模型:当用户发布推文时,将其推送到关注者的信息流中。

28210
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    从香农熵到手推KL散度:一文带你纵览机器学习中的信息论

    更广的概率密度对应着更大的信息熵,有一个很好的比喻帮助记住这个:想象某种气体充满了一个储罐。从物理学中我们可以知道,一个封闭系统中的熵会随着时间增加,而且从来不会减少。...在我们从储罐的另一侧注入气体之后,气体粒子的分布会收敛于一个均匀值。低熵意味着高密度的气体粒子聚集在某个特定的区域,而这是永远不会自发发生的。...KL 散度 与交叉熵紧密相关,KL 散度是另一个在机器学习中用来衡量相似度的量:从 q 到 p 的 KL 散度如下:D_KL(p||q)。...在李弘毅的讲解中,KL 散度可以从极大似然估计中推导而出。...从该似然函数可知,我们抽取的 m 个真实样本在 P_G(x;θ) 分布中全部出现的概率值可以表达为 L。

    93280

    从香农熵到手推KL散度:一文带你纵览机器学习中的信息论

    在本文中,我们从最基本的自信息和信息熵到交叉熵讨论了信息论的基础,再由最大似然估计推导出 KL 散度而加强我们对量化分布间相似性的理解。...更广的概率密度对应着更大的信息熵,有一个很好的比喻帮助记住这个:想象某种气体充满了一个储罐。从物理学中我们可以知道,一个封闭系统中的熵会随着时间增加,而且从来不会减少。...KL 散度 与交叉熵紧密相关,KL 散度是另一个在机器学习中用来衡量相似度的量:从 q 到 p 的 KL 散度如下:D_KL(p||q)。...在李弘毅的讲解中,KL 散度可以从极大似然估计中推导而出。...从该似然函数可知,我们抽取的 m 个真实样本在 P_G(x;θ) 分布中全部出现的概率值可以表达为 L。

    1.2K100

    浅析Lambda架构

    而当“应该对用户投放什么样的广告”作为一个查询(Query)来到时,我们从服务层既查询服务层中保存好的批处理输出模型,也对速度层中处理的实时行为进行查询,这样我们就可以得到一个完整的用户行为历史了。...在这个实际案例里,我们先用twitter4J的流处理API抓取实时的Twitter推文,同时利用Apache Kafka将抓取到的数据保存并实时推送给批处理层和速度层。...因为Apache Spark平台中既有批处理架构也兼容了流处理架构,所以我们选择在批处理层和速度层都采用Apache Spark来读取来自Apache Kafka的数据。...例如,我们根据每一条Tweet中元数据(Metadata)里的location field,可以得知发推文的人的所在地。...而服务层中的逻辑可以根据这个地址信息进行分组,然后统计在不同地区的人所关心的Hashtag是什么。

    35920

    一位付费API工程师如何制造了推特今年第七次崩溃?

    “当前的API计划不包括对此端点的访问权限”。 除此之外,也有不少用户称,无法加载图片,甚至无法访问推特账号管理工具TweetDeck。...偌大的推特却只有一位付费API工程师 Platformer表示,推特这次“小小的API变化”是关闭推特API免费访问项目所引起的。...2月1日,推特宣布不再支持对其API的免费访问,这在很大程度上限制了第三方客户端,同时也极大地影响了外部研究人员研究网络的能力。 与之相对应的,推特一直在尝试建立一个新的付费API供开发者使用。...推特故障频出,马斯克却称公司将在第二季度实现正现金流 正如这位前雇员所说,这已经是推特今年第六次服务中断了。 1月23日,安卓用户无法加载新的推文或发布推文。...不过根据《金融日报》报道称,马斯克在最近的摩根士丹利投资者会议上表示,推特的现金流将在第二季度盈亏平衡,甚至可能变成正数。

    76610

    常见分布式应用系统设计图解(二):Feed 流系统

    这里提给 push 和 pull 各提一个经典问题: 第一个问题是 push 模型下,由于粉丝众多,推文占用容量过大的问题,一种解决思路是在粉丝的时间线中只存储推文 id,但是这样的话在聚合的时候需要一次额外的根据推文...第二个问题是 pull 模型下,突然某个大 V 的某一话题活了起来,大量的用户访问该推文,导致所在机器顶不住了(这也是新浪微博挂掉的常见原因)。...这个也没有太好的解决办法,可以考虑对于特别火爆的推文拉出专门的一层缓存来扛流量,另外要有流控,丢掉部分请求,尽最大能力服务。...在用户读取的时候,缓存是非常重要的,考虑到需要的容量巨大,为了增加命中率,减少冗余的缓存信息,可以使用集中式缓存集群。...Aggregation Service 是用来从多个存储节点中为某个用户拉取数据(pull 模型),合并时间线,并返回的。为了提高效率,这里是多个并行拉取,再聚合的。

    1K31

    用户无法正常发推文,马斯克:暂停新功能开发, API 免费访问延长四天

    作者 | 褚杏娟 近日,推特全球用户再次遇到了一个持续了约 90 分钟的故障,他们无法正常发送推文,而是收到一条自动消息,说他们“超过了每天发送推文的限制”,甚至当天一次还没有发布过用户都收到了该消息...据悉,Twitter 的帮助中心表示,每天的推文数量上限为 2,400 条。中断不仅影响了新推文发布,还影响了推文的转发和回复。...推特的开发团队在出现故障后发推文称,对其 API 的免费访问将再延长四天。但目前尚不清楚这次故障是否与 API 更改有关。...推特此前在 2 月 3 日表示,将开始对 API 访问收费。...该公司表示,从 2 月 9 日开始,将提供一个付费的基础层面来访问其应用程序编程接口,即 API,开发人员可以使用它来分析包括推文在内的一些内部数据,并用它来构建工具。

    93720

    一对一视频聊天app开发借助了哪些CDN的服务功能?

    Token防盗链在推流和拉流两个环节中都可以起到校验的效果,即防止推流地址被非法占用和防止拉流被站外播放器盗取播放。 2. IP禁用 可以检测用户访问时的IP,对其进行禁止或者是放行操作。...自动鉴黄 随着国家对于直播行业的监管程度逐渐加强,用户可以在CDN服务后台提交单链或者是视频直播流的鉴黄请求。大多数CDN服务商对于直播内容的鉴别分为两种,疑似黄色信息和确定黄色信息。...举个简单的例子,如果某直播平台中有一个API查询接口,帮助用户观测每一条视频直播流的同时在线人数,以方便每个主播的人气。...每一条视频直播流的推流信息接口查询,包含推流时间、推流节点、推流码率及用户IP等信息。从而帮助直播平台在运营过程中,详细掌握自家平台主播的直播时间、分布区域以及直播数据量的大小。...由于用户的产品体验和安全隐私对于直播平台来说是非常重要的,所以在选择CDN服务商时多从功能层面下手肯定是没错的。 本文声明原创,转载请注明出处。

    1.2K20

    DDIA 读书分享 第一章 文字稿

    在信息社会中,一切皆可信息化,或者,某种程度上来说——数字化。这些数据的采集、存储和使用,是构成信息社会的基础。我们常见的绝大部分应用背后都有一套数据系统支撑,比如微信、京东、微博等等。...Spark:可以对数据进行批处理、也可以化小批为流,对数据进行流式处理。 Redis:可以作为缓存加速对数据库的访问、也可以作为事件中心对消息的发布订阅。...: 识别主营业务:发布推文、首页 Feed 流。...确定其请求量级:发布推文(平均 4.6k请求/秒,峰值超过 12k请求/秒),查看其他人推文(300k请求/秒) Twitter 数据库表 单就这个数据量级来说,无论怎么设计都问题不大。...每个人查看其首页 Feed 流时,从数据库现拉取所有关注用户推文,合并后呈现。 推。为每个用户保存一个 Feed 流视图,当用户发推文时,将其插入所有关注者 Feed 流视图中。

    42810

    手把手教你撸个直播小程序

    前沿: 本篇博文会稍微有点长,用到的技术有 奥点云的 流媒体直播服务LSS 分布式双向消息服务DMS 以及 小程序的live-player组件 (奥点云做的很差劲,有更好的平台,最好换一个) 本篇博文的目的是为了让有些前端基础的新手快速搭建一个直播小程序...看看它们各自的开发说明API 正式开始: 在流媒体直播服务LSS控制台下先绑定域名 需要域名cname映射 创建一个APP 这里的一个APP就是一个直播频道, 创建好后点击发布与安装按钮 获取推流地址...进入这个页面 不需要改什么参数,直接点生成,即可生成推流地址, 那么问题来了 什么是推流地址 我们知道 直播就是 一方录像推送到服务器,一方使用软件从服务器获取视频流显示 这个推流地址就是你的视频采集软件上传视频的地址...下载mcs直播 点击rtmp地址直播 将刚刚生成的推流地址 填写进去, 注意推流地址是rtmp开头的....奥点云就先到这里, 接着开始小程序的live-player的设置 live-player 组件详解 着重看这三个参数 src就是我们刚刚生成的rtmp地址 object-fit contain 使用原有视频流显示

    58520

    跨平台低延迟RTSP转RTMP推送技术方案探讨

    录像:如果需要录像,借助RTSP直播播放SDK,拉到音视频数据后,直接存储MP4文件即可;4....整体网络状态反馈:考虑到有些摄像头可能会临时或异常关闭,RTMP服务器亦是,可以通过推拉流的event回调状态,查看那整体网络情况,如此界定:是拉不到流,还是推不到RTMP服务器。...FFmpeg是一个开源的跨平台视频和音频处理工具,它支持将RTSP流转换为RTMP流。您可以从FFmpeg官方网站下载适用于Windows的二进制安装程序,并按照说明进行安装。...需要注意的是,上述方案中的摄像头地址、流媒体地址、服务器地址和直播频道都需要替换为实际的地址和信息。此外,您还需要确保摄像头的RTSP流可公开访问,并且目标服务器的RTMP流地址已经配置正确。...开始推流到RTMP服务器:推流的流程,如之前所述,调用RTMP推送模块,然后数据源传编码后的音视频数据即可,下图的demo源码,同时展示了,RTSP流获取到后,转推RTMP的时候,数据解密的处理:bool

    1.2K40

    【最佳实践】巡检项:云直播(CSS)推流开启鉴权

    问题描述 1、什么是鉴权和回调 鉴权 保护用户上传到云直播的内容资源不被非法站点下载盗用 回调 数据交互分成两种类型: 一种是从服务端主动推送到客户端; 另一种是从客户端主动推送数据到服务端,也就是回调...验证通过后,则可被动获取到含直播事件回调信息的 JSON 数据包。 目前直播事件触发消息通知支持事件包括:直播推流、直播断流、直播录制、直播截图、直播鉴黄事件消息通知。...直播推流默认关闭回调功能,当推流域名已关联回调配置后,该域名下所有的推流地址都均开启回调功能。.../document/api/267/32637 回调配置(约5分钟 - 10分钟生效):https://cloud.tencent.com/document/product/267/35254 通过事件消息通知被动获取到具体直播事件信息...开启推流鉴权配置后,新推流将启用鉴权,已推的在线流不会被断流。 开启回调配置后,新推流将启用回调,已推的流不会触发回调规则,需要重新推流才会发起回调

    2.4K50

    使用 Serverless 云函数为 TRTC 输入在线媒体流

    操作场景 将已有的录播视频或者 RTMP 直播流推送到实时音视频 TRTC 房间进行直播。如您需开启推流直播的实时记录,可以选择使用 Redis,API 网关会将进度实时写入 Redis。...API 网关调用涉及的参数如下: ? 如果 redis 值为 false,从 videoSrc 视频源拉流进行直播推流,直播流将从最新开始。...如果 redis 值为 true,对于同一个 videoSrc 视频源,API 网关将先在 redis 中查询是否有上一次直播流推流记录: 若存在记录,则恢复上一次推流。 若无记录,则重新开始推流。...模糊搜索:输入「TRTC 直播推流」,并进行搜索。单击模板中的「查看详情」,即可在弹出的「模板详情」窗口中查看相关信息,支持下载操作。 1.2 单击「下一步」,根据页面相关信息提示进行配置。...创建云函数」步骤中创建的云函数名称,进入「函数详情」页,查看到打印出的推流日志信息。如下图所示: ? 3.4 切换至实时音视频控制台,在「监控仪表盘」页面单击房间 ID,查看推流监控详情信息。

    1.7K40

    手把手|用Python端对端数据分析识别机器人“僵尸粉”

    我之所以一直关注Twitter机器人主要是因为它们有趣又好玩,另外也因为Twitter提供了丰富而全面的API,让用户可以访问到Twitter平台信息并了解它们是如何运作的。...你可以认为Twitter不单单是个人信息流,更像是一个想法交易市场,流通的货币则是粉丝和推文转发。 Twitter另外一个显著的特点是它自身内容的“嵌入式能力”(见上图的搞笑例子)。...如今,将推文作为新媒体的一部分是稀疏平常的一件事。主要是因为Twitter开放式的API,这些API能让开发者通过程序来发推文并且将时间轴视图化。...从获取的用户时间轴信息中,我抓取了数据集中每个用户最新的200条推文。 问题是,Twitter官方不允许你直接大量地收集你所想要的数据。...为了将推文数据加入到分类器中,一个账号的推文信息需要被汇总成一行数据。有一种摘要度量方式建立在词汇多样性之上,就是每个特定词汇数量占文档总词汇数量的比例。

    1.3K60

    Twitter 算法开源究竟会是什么样的?

    Twitter 对算法推送的描述如下: 你在 Twitter 上所关注的账户的推文流,以及我们根据你经常互动的账户、参与讨论的推文以及其他更多信息推荐的你可能感兴趣的其他内容。...核心推文关系 时间线(Timelines)—— 来自特定账户的逆时推文流。 喜欢(Likes)—— 喜欢推文是一种核心的用户互动行为,表达对推文的兴趣。请注意,“喜欢”在历史上曾被称为“收藏”。...请记住,这也只是公共 API。在内部,像 Twitter 这样的平台是一个由服务、数据库、缓存、工作流、人以及所有把它们整合在一起的粘结剂所组成的复杂网络。...从 Twitter 的公共 API 获得的数据只是 Twitter 内部跟踪数据中的一小部分。...推送算法 摘自“在 Twitter 时间线上使用大规模深度学习(2017)”:在引入排名算法之前,时间线的构成很容易描述:你所关注的人自你上次访问以来的所有推文都被收集起来,并按时间倒序显示。

    1.2K40

    拿起Python,防御特朗普的Twitter!

    从Twitter读取推文 为了从Twitter读取数据,我们需要访问它的API(应用程序编程接口)。API是应用程序的接口,开发人员可以使用它访问应用程序的功能和数据。...这将为我们提供一个包含一个项目的列表,其中包含关于川普最后一条推文的信息。我们可以得到关于Twitter的不同信息。例如:last_tweet.full_text将提供他最后一条推文的全文。...我现在将使用大约3000条来自川普的推文来训练一个深度学习模型。 数据 ? 让我们从dataframe中随机选择的10条推文。它显示推文包含许多仅出现一次的术语或对预测不感兴趣的术语。...使用带有Node.js的Twitter流媒体API对提到希拉里或特朗普的推文进行了流媒体处理。 ? 一旦我们收到一条推文,我们就把它发送到自然语言API进行语法分析。...这里我们将重点介绍语法注释,语法注释响应提供关于句子结构和每个单词的词性的详细信息。推文常常缺少标点符号,语法上也不总是正确的,但是NL API仍然能够解析它们并提取语法数据。

    5.8K30

    一顿操作猛如虎,涨跌全看特朗普!

    从Twitter读取推文 为了从Twitter读取数据,我们需要访问它的API(应用程序编程接口)。API是应用程序的接口,开发人员可以使用它访问应用程序的功能和数据。...例如,要想获取川普的最后一条推文,只需使用以下内容: 这将为我们提供一个包含一个项目的列表,其中包含关于川普最后一条推文的信息。我们可以得到关于Twitter的不同信息。...例如:last_tweet.full_text将提供他最后一条推文的全文。 利用我们获得的关于Twitter API的知识,我们现在可以更改代码来从Twitter加载推文字符串。...我现在将使用大约3000条来自川普的推文来训练一个深度学习模型。 数据 让我们从dataframe中随机选择的10条推文。它显示推文包含许多仅出现一次的术语或对预测不感兴趣的术语。...这里我们将重点介绍语法注释,语法注释响应提供关于句子结构和每个单词的词性的详细信息。推文常常缺少标点符号,语法上也不总是正确的,但是NL API仍然能够解析它们并提取语法数据。

    4.5K40
    领券