因此,让我们看看能否从工程的角度增进对这个对话的了解。 Twitter 是如何工作的 主时间线视图 Twitter 为用户提供了两个版本的主时间线视图:默认的算法推送“主页”以及 “最新推文”。...静音(Mutes) —— 将一个账户静音,让你可以从自己的时间线上删除一个账户的推文,而不需要取消关注或屏蔽该账户。被静音的账户不会知道你把他静音了,你可以在任何时候取消静音。...排名信息 摘自“在 Twitter 时间线上使用大规模深度学习(2017)”:为了预测某条推文是否会吸引你,我们的模型考虑了以下特征(或要点): 推文本身:它的新近度,存在的媒体卡(图像或视频),总互动数...,同时考虑最新推文的原始时间线, * 以及包含潜在相关推文的网络图时间线子集。...是否有可能抽象出运行像 Twitter 这样的全球性生产系统所需的所有工程复杂性,并制定一份真正有用的开源软件规范或 API?
来源:InfoQ 3 月 31 日,正如马斯克一再承诺的那样,Twitter 已将其部分源代码正式开源,其中包括在用户时间线中推荐推文的算法。...Twitter 官网博客详细介绍了算法在确定 For You 时间线所显示的推文时,会具体参考哪些内容并如何对其进行排名和过滤。 用于构建时间线的主要组件 从博文来看,推荐管线由三个主要阶段组成。...首先,它会收集“来自不同推来源的最佳推文”,之后使用“机器学习模型”对各推文进行排名。最后,它会过滤掉来自已屏蔽用户的推文、已经看过的推文或者在工作时间不宜观看的内容,最后将结果显示在时间线上。...例如,第一步大约会查看 1500 条推文,目标是让 For You 时间线中约 50% 的推文来自已关注的用户(即「人际网络内」),50% 的推文来自“尚未关注的「人际网络外」账户”。...推文本身:它的新近度,存在的媒体卡(图像或视频),总互动数(如转发和喜欢的数量)。
机器之心报道 机器之心编辑部 如何振兴推特,马斯克选择「流量最大」的打法。 马斯克曾把特斯拉的专利开源,现在推特的算法也被他开源了。...对此,推特在今天下午的 Spaces 会议上也有回应,一位推特工程师表示,这些标签仅用于衡量指标。而马斯克说自己在今天之前不知道这些标签,并表示「它们不应该在那里」。 推特是如何选择推文的?...下面这张图说明了用于构建时间线的主要组件: 接下来探讨一下这个系统的关键部分,大致按照在一次时间线请求中的调用顺序,从检索候选推文源开始。...候选推文源 Twitter 有几个候选推文源,他们用这些候选源来为用户检索最近的相关推文。对于每个请求,他们试图通过这些来源从数以亿计的推文池中提取最好的 1500 条推文。...下一步计划包括: 为创作者提供更好的推特分析平台,提供更多关于影响力和参与度的信息; 提高应用到用户推文或帐户的任何安全标签的透明度; 更好地了解推文出现在时间线上的原因。
需求 让我们设计一个类似Twitter的社交网络服务。该服务的用户将能够发布推文、关注他人以及喜爱的推文。 难度:中等 1.什么是Twitter?...用户通过其网站界面、短信或移动应用程序访问Twitter。 2.系统的要求和目标 我们将设计一个更简单的Twitter版本,并满足以下要求: 功能要求 1.用户应该能够发布新的推文。...3.用户应该能够将推文标记为收藏夹。 4.该服务应该能够创建和显示用户的时间线,包括来自用户跟随的所有人。 5.推文可以包含照片和视频。 非功能性需求 1.我们的服务需要高度可用。...3.用户看到的刷新时间线的平均延迟。 通过监视这些计数器,我们将了解是否需要更多的复制、负载平衡或缓存。 13、扩展要求 我们如何提供物料?...搜索:搜索包括索引、排名和检索推文。 参考资料 grok_system_design_interview.pdf
马斯克开源 Twitter 推荐算法 3 月 31 日,正如马斯克一再承诺的那样,Twitter 已将其部分源代码正式开源,其中包括在用户时间线中推荐推文的算法。...Twitter 官网博客详细介绍了算法在确定 For You 时间线所显示的推文时,会具体参考哪些内容并如何对其进行排名和过滤。 用于构建时间线的主要组件 从博文来看,推荐管线由三个主要阶段组成。...首先,它会收集“来自不同推来源的最佳推文”,之后使用“机器学习模型”对各推文进行排名。最后,它会过滤掉来自已屏蔽用户的推文、已经看过的推文或者在工作时间不宜观看的内容,最后将结果显示在时间线上。...例如,第一步大约会查看 1500 条推文,目标是让 For You 时间线中约 50% 的推文来自已关注的用户(即「人际网络内」),50% 的推文来自“尚未关注的「人际网络外」账户”。...推文本身:它的新近度,存在的媒体卡(图像或视频),总互动数(如转发和喜欢的数量)。
Twint是一个用Python写的Twitter抓取工具,允许从Twitter配置文件中抓取推文,不使用Twitter的API。...Twint还对Twitter进行了特殊查询,允许您搜索Twitter用户的关注者,用户喜欢的推文,以及他们在API,Selenium或模拟浏览器的情况下关注的用户。...好处 使用Twint和Twitter API的一些好处: 1.可以获取几乎所有的推文(Twitter API限制只能持续3200个推文); 2.快速初始设置; 3.可以匿名使用,无需Twitter注册;...Twitter的限制 Twitter会限制用户可以浏览的时间线。这意味着通过.Profile或者.Favorites你只可以看到~3200条推文。...(收集~3200推文,包括转推)。
首先是单击链接无法跳转,反而弹出了一条神秘的错误消息,称“您当前的 API 计划不包括对此端点的访问权限”。...有网友指出是“对 Twitter API 的传入和传出访问被破坏了”,推文底下有网友抱着“看热闹不嫌事大”的心态称:“这个应用程序坏了会更有趣”。...本周一的错误配置变更,已经是 Twitter 今年以来第六次造成广泛影响的服务宕机: · 1 月 23 日,Androiod 用户暂时无法加载或发布新推文。...· 2 月 8 日,一条错误消息提醒用户“您已超过每日推文发送上限”,导致其无法正常发帖。 · 2 月 15 日,推文无法加载。 · 2 月 18 日,推文时间线中断,回复消失。...· 3 月 1 日,时间线无法正常工作。 以上提到的还只是服务宕机。此外,马斯克的推文在时间线上比其他用户更显眼等问题,也扰乱了用户的正常体验。
此外,该公司将改变推文的显示方式,用户包含艾特对象的推文也将即时出现在用户的推特时间线内。 这一改变对用户习惯和互联网世界又意味着什么呢?...我们听听Twitter产品经理Todd Sherman如何讲述?...以下为Todd Sherman致Twitter用户公开通知全文: 2006年,当我们介绍推特的API的时候,推文只能发送140个字符的文本信息,并且常常是通过短消息发送。...这个区域被限制为只能包含一个URL标识为一个数据源:目前包括1到4张照片、GIF、投票、引用推文或DM深度链接。...为了支持这些变化,在API Endpoint方面会有新的API选项用于创建或使用推文。如需获取详细的信息,请查阅我们已经发布的初期技术文档。
设计一个像微博这样的系统是软件工程面试中的常见问题,特别是用于评估候选人对系统设计原则、可扩展性和处理高流量网络应用的理解。以下是设计像Twitter这样的系统的高层次方法: 1....推文服务:处理推文的发布、删除和检索。 关注服务:管理关注和取消关注操作以及粉丝列表。 信息流服务:为用户时间线聚合推文。 通知服务:为各种活动发送通知。...关注者数据:存储用户之间的关系(谁关注了谁)。 索引:有效地搜索和检索推文和用户。 4. 可扩展性和性能 微服务架构:将功能划分为微服务,以实现可扩展性和可维护性。...数据库分片:根据用户ID或推文ID进行数据库分片,实现负载分布。 缓存:为频繁访问的数据实现缓存,减少数据库负载。 负载均衡:使用负载均衡器在服务器之间分配流量。 5....实时信息流生成 推模型:当用户发布推文时,将其推送到关注者的信息流中。 拉模型:用户定期拉取/刷新他们的时间线。 混合方法:推拉模型的结合,优化性能。 6.
,它取决于用户所关注的用户列表,再结合时间线(有时还包括优先级)将这些用户的最新 feed 聚合,并以流的方式展示出来。...这里提给 push 和 pull 各提一个经典问题: 第一个问题是 push 模型下,由于粉丝众多,推文占用容量过大的问题,一种解决思路是在粉丝的时间线中只存储推文 id,但是这样的话在聚合的时候需要一次额外的根据推文...一种方式是根据时间的范围来划分,这也是 Twitter 早期的做法,这种做法有一个严重的问题,就是老的推文没有人看,而新推文则火得不得了,因此机器的 load 严重不均。...第二种方式是根据推文的 id 来做简单 hash,这种方式最大的问题是一个人的推文可能分散到任何一台机器上,为了找这个人的推文要去所有的机器上查询并聚合(既包括网络 I/O,也包括磁盘 I/O),这无疑是过于浪费了...用户推文的时候,根据用户所应对的策略,如果需要 fan out 推文的 id 到粉丝的时间线中,就要把这个事件进 queue,由于它是异步模型,这一步可能会有不同程度的延迟。
一、题目及应用场景简介 Twitter 和微博功能差不多,我们主要要实现这样几个 API: ? 举个具体的例子,方便大家理解 API 的具体用法: ? 这个场景在我们的现实生活中非常常见。...个用户,我们就可以用合并 k 个有序链表的算法合并出有序的推文列表,正确地 getNewsFeed 了!...具体的算法等会讲解。不过,就算我们掌握了算法,应该如何编程表示用户 user 和推文动态 tweet 才能把算法流畅地用出来呢?这就涉及简单的面向对象设计了,下面我们来由浅入深,一步一步进行设计。...之所以要把 Tweet 和 User 类放到 Twitter 类里面,是因为 Tweet 类必须要用到一个全局时间戳 timestamp,而 User 类又需要用到 Tweet 类记录用户发送的推文,所以它们都作为内部类...注意图中链表节点中的数字是 time 属性,不是 id 属性: ? 至此,一个简化的 Twitter 时间线功能就设计完毕了。
“当前的API计划不包括对此端点的访问权限”。 除此之外,也有不少用户称,无法加载图片,甚至无法访问推特账号管理工具TweetDeck。...偌大的推特却只有一位付费API工程师 Platformer表示,推特这次“小小的API变化”是关闭推特API免费访问项目所引起的。...推特故障频出,马斯克却称公司将在第二季度实现正现金流 正如这位前雇员所说,这已经是推特今年第六次服务中断了。 1月23日,安卓用户无法加载新的推文或发布推文。...2月8日,错误的提醒告知用户,他们“超过了发送推文的每日限额”,无法再发布推文。 2月15日,推文无法加载。 2月18日,时间线中断了,回复也消失了。 3月1日,时间线再次停止工作。...他补充到,推特的成本预计为每年约30亿美元,其中包括用于收购的130亿美元债务的15亿美元利息支付。
哦,对了,他有一次发布的推文,CNN赞助人Jason Kander还点赞了,好几百人转发点赞。我也转发了。虽然他上线不久,但6个星期已经获得了13.1万次的浏览量。...他睡觉很规律,工作忙的时候也不太上Twitter。有时候,他更新推文频繁些,有时候又好久不更,真是个随性的懒家伙。 他还很萌。有时候,干脆直接更一条咿呀学语的推文,笑死我了。...为了简化原创内容制作,Kevin只制作两种内容:基本的推文和对热门话题的评论。 每次Kevin检查Twitter时,他会分析数百条推文,并建立起常用词的统计模型。...其他互动则更加积极一些: 仍有改进空间 Kevin离真正的成功还有很远距离。他存在着一些缺陷,由于我的技能限制或着时间限制,无法进行完善。 低质量的推文 有时,Kevin真的不擅长发推。...最糟糕的是,这条推文并不符合他的网络定位。 不完整的想法 如果Kevin查看了一些包含链接或照片引用的推文,他有时会发出不附有相关内容的推文。
比如Twitter两个典型业务操作: 发推文:用户可快速推送新消息到所有粉丝,平均大约4.6k request/s, 峰值约12k requests/sec 页时间线(Home timeline)浏览:...对此有如下的 处理方案 方案一:关系型数据模型 将发送的新推文插入全局的推文集合。当用户查看时间线,首先找所有的关注对象,列出这些人的所有推文,以时间为序来排序合并。...当用户推送新推文,查询其关注者,将推文插入到每个关注者的时间线缓存中。因为已预先将结果取出,之后访问时间就是线性性能,很快。...Twitter最初使用方案一,但发现主页时间线的读负载压力与日俱增,系统优化之路曲折,于是转向方案二,实践证明更好,因为时间线浏览推文的压力几乎比发布推文要高出两个数量级,基此,在发布时多完成一些事情可加速读性能...大多数用户的推文在发布时继续以一对多写入时间线,但少数大V用户除外,对这些用户采用类似方案一,其推文被单独提取,在读取时才和用户的时间线主表合井。这种混合方案能提供始终良好表现。
这里有一些问题对于设计在进入下一步之前应该回答的问题: •我们服务的用户是否能够发布推特并跟踪其他人? •我们是否也应该设计来创建和显示用户的时间线? •推特会包含照片和视频吗?...•用户是否能够搜索推文? •我们是否需要展示热门话题? •是否会有推送新(或重要)推送通知? 所有这些问题都将决定我们的最终设计。 第二步:系统接口定义 定义系统需要哪些api。...如果我们假设我们会如果有更多的读流量(与写流量相比),我们可以决定使用单独的服务器来处理这些场景。在后端,我们需要一个高效的数据库,可以存储所有的推文和可以 支持大量读取。...(分布式数据库,分库分表,数据一致性) •我们将如何处理那些经常发推特或关注很多人的热门用户?...(热数据问题) •由于用户的时间线将包含最新(和相关)的推文,我们是否应该尝试存储我们的数据在这样一种方式,是优化扫描最新的推特?
该项目的主要功能、关键特性、核心优势包括: 提供完整的 Fuel v2 协议实现 支持 GraphQL 服务端点 通过事务执行器执行即时区块生产 提供 Docker 和 Kubernetes 支持 可以通过...主要功能和优势包括: 无 JavaScript 或广告 所有请求通过后端处理,客户端不与 Twitter 直接通信 防止 Twitter 跟踪 IP 或 JavaScript 指纹 使用 Twitter...的非官方 API(无速率限制或开发者账户要求) 轻量级 RSS 订阅 主题定制 移动设备支持(响应式设计) 此外还提供了 Liberapay 和 Patreon 支持,并计划增加嵌入、带时间线支持的账号系统...、推文/个人资料归档以及开发者 API 等功能。...它能让用户以肉眼、双筒望远镜或小型望远镜所见到的一样来观测天空。
twitter@debarghya_das 员工公开指出马斯克推文错误,马斯克:「He’s fired」 与动不动裁撤几千人不同,推特最新一次的人事变动似乎是针对个人的,马斯克刚刚解雇了在推特上公开指出他错误的员工...procedure calls)来加载主页时间线。...看到老员工这么一番解释,似乎是为了澄清最初的推文,马斯克随后回应道,「你没有意识到当有人使用 Twitter 应用程序时会调用多达 1200 个微服务,这样并不好。」...自称为 Twitter 技术负责人的 Sasha Solomon 引用了马斯克原始推文,指出马斯克不了解 GraphQL 是如何工作的,也不知道 Twitter 的基础设施是如何运作的。...随即在不到一天的时间里,Solomon 表示自己被解雇了。她没有提及是否被马斯克直接解雇,而且马斯克也没有像对待 Frohnhoefer 那样回应她的推文。
以设计一个类 Twitter 的服务为例,在开始设计之前应先回答以下问题: 我们服务的用户能否发布推文并关注其他人? 我们是否还应该设计来创建和显示用户的时间轴? 推文中是否包含照片和视频?...用户将能够搜索推文吗? 我们需要显示热门话题吗? 是否有关于新(或重要)推文的推送通知? 这些问题将决定最终设计的系统长什么样。...第二步:系统接口定义 定义系统期望的接口(API)不仅可以帮助建立预期的接口协议 ,也可以确保我们没有弄错需求。...系统预期的规模,例如,新推文的数量,推文的阅读量,每秒产生的时间线? 我们需要多少存储空间?如果用户可以拍摄照片和视频,又需要多少存储空间。 我们期望多大的带宽?...如何处理发大量推文或关注很多人的热门用户? 由于用户的时间轴将包含最新推文,为了获取最新推文是否需要优化数据的存取方式? 我们应该在多少层引入缓存以加快处理速度? 哪些组件需要更好的负载平衡?
每当特朗普发推文时,它都会使用Twitter Streaming API得到通知。...main模块定义了一个回调函数,处理传入的推文并开始将特朗普的推文分析结果传输出去: def twitter_callback(tweet): companies = analysis.find_companies...前者在特朗普推特的文本中检索对公司的提及,寻找它们的股票代码,并给推文打情绪分。后者则选择一种交易策略,即要么现在买进,然后在收盘时卖出;要么现在卖空,然后在收盘时买进以回补。...设置身份验证 从shell环境变量中读取不同API的身份验证密钥。每项服务都有不同的步骤来获取它们。 Twitter 登录你的Twitter帐户并创建一个新应用程序。...>" 如果你希望推文来自拥有该应用程序的同一帐户,只需在同一页面上使用访问令牌和访问令牌密钥即可。
刚刚正式掌管 Twitter 不久的马斯克对公司进行了大刀阔斧的裁员,从他近日发表的推文来看,很显然他对此决策颇为满意,直言 “Twitter 越来越充满活力”。...Twitter 技术主管转发了马斯克的这则推文,并回击道:“你不仅裁掉了几乎所有负责 Twitter 基础设施的员工,现在还粗鲁无礼地评价我们的批处理工作。”...最后还质问马斯克是否有去了解过 GraphQL 的工作原理。 事实上,这位女性主管早已表达过对马斯克的不满,且看她的置顶推文。...她的推特名字更是在内涵马斯克掌管下的 Twitter 是一个 "hell site"。...正如官网所说,GraphQL是一款专门为前端查询而生的语言,它本身就是用来解放前后端接口联调工作的提效工具,那当然也包括推特的APP,也可以利用它来提高开发效率,也就是说Twitter的技术主管已经在自己的项目中落地了
领取专属 10元无门槛券
手把手带您无忧上云