首页
学习
活动
专区
圈层
工具
发布

系统设计:Facebook的新闻流设计

需求 让我们设计Facebook的新闻提要,其中包含来自Facebook的帖子、照片、视频和状态更新 用户关注的所有人和页面。...它包括状态更新、照片、视频、链接、应用程序活动以及来自用户访问的人员、页面和组的“喜好”。关注Facebook。...2.系统的要求和目标 让我们根据以下要求为Facebook设计一个新闻提要: 功能要求: 1.新闻提要将基于用户访问的人员、页面和组的帖子生成跟随。...在较高级别上,我们的新闻提要服务需要以下组件: 1.Web服务器:维护与用户的连接。此连接将用于传输数据用户和服务器之间的数据。 2.应用服务器:执行在数据库服务器中存储新帖子的工作流。...例如,用户在一天中的什么时间处于活动状态,以及一周中的哪几天,用户是否访问其新闻源?等 现在,让我们在下一节讨论“实时更新”问题的一些解决方案。 b、 提要发布 将帖子推给所有追随者的过程称为扇出。

7.1K283

系统设计面试的行家指南(中)

Feed 发布:当用户发布帖子时,相应的数据被写入缓存和数据库。她朋友的新闻订阅源上有一个帖子。 新闻提要构建:为了简单起见,我们假设新闻提要是通过按时间倒序聚合朋友的帖子构建的。...新闻源 API 新闻提要 API 是客户端与服务器通信的主要方式。这些 API 是基于 HTTP 的,允许客户端执行操作,包括发布状态、检索新闻提要、添加好友等。...我们讨论两个最重要的 API:提要发布 API 和新闻提要检索 API。 Feed 发布 API 要发布帖子,将向服务器发送 HTTP POST 请求。...新闻订阅服务:新闻订阅服务从缓存中获取新闻订阅。 新闻提要缓存:存储呈现新闻提要所需的新闻提要 id。 第三步——设计深潜 概要设计简要地涵盖了两个流程:提要发布和新闻提要构建。...用这种方法, 新闻提要是在编写时间内预先计算好的。新帖子发布后会立即发送到朋友的缓存中。 优点: 新闻提要实时生成,可以立即推送给朋友。 获取新闻提要的速度很快,因为新闻提要是在编写时预先计算的。

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

    python实战 | 如何利用海外代理IP,实现Facebook内容营销自动化

    一、痛点:Facebook营销的挑战在当今海外社交媒体主导的营销环境中,Facebook已经成为企业或个人品牌推广不可或缺的部分。...那么,如何通过技术手段,降低这些阻力并提高工作效率呢?那么,问题来了:如何稳定高效地搞定 Facebook 营销自动化架构?...注册Facebook开发者账号访问Facebook开发者平台,创建应用,获取APP ID、APP Secret以及Access Token,用于与Graph API交互。4....用Facebook Graph API实现动态发布使用Facebook Graph API直接发布动态是一种高效的方法,适用于发布标准化内容。..., proxy=None): """利用Graph API自动发布动态""" url = f"https://graph.facebook.com/{PAGE_ID}/feed" payload

    96500

    Reddit崛起之路:「美国贴吧」为什么值150亿美元?

    所以,多年来,Reddit一直按照乌托邦式的无商业压力的放养模式运行。 目前的帖子排名和投票机制多年来没怎么变过,而且真的不需要变,因为依然好用。...它似乎不是作为一家企业,而是作为一个数字化聚会场所而存在的,甚至都没有一个像样的移动端app,即使Facebook这样的巨头都开始走「移动端优先」的路线了。...当时,Reddit中的一些代码已有十多年的历史,其设计的早期版本看起来类似于Facebook的新闻提要或Twitter的时间轴:一段内容提要被分解成具有更多视觉特效的「卡片」,以吸引人们进入其下面的对话...用力过猛的算法? 经过多年的静态产品开发,Reddit的网络和移动业务开始迅速发展。 现在,大约50%的帖子有某种图像或视频,例如「现在Reddit上流行」的建议帖子,几乎都是视频。...「因为你以前访问过这个社区」的建议。 在某些时候,我不得不关闭我的iOS通知,因为所有的东西都是「你可能喜欢这个帖子或社区」。

    69120

    【转】系统设计-第11章:设计一个信息推送系统

    根据 Facebook 帮助页面,“动态是位于首页中间不断更新的动态列表。动态包括您在 Facebook 上关注的用户、公共主页和小组发布的状态更新、照片、视频、链接、应用事件和点赞。”[1]。...我们讨论两个最重要的API:信息流发布 API 和信息流检索 API。信息流发布 API要发布一个帖子,将向服务器发送一个HTTP POST请求。该API显示如下。...Fanout service(扇出服务):推送新内容到朋友的信息流。信息流数据存储在缓存中,以便快速检索。通知服务:通知朋友有新内容,并发送推送通知。...一致性哈希是缓解热键问题的一个有用技术,因为它有助于更均匀地分配请求/数据。让我们仔细看看图11-5中所示的扇出服务。扇出服务的工作原理如下:从图形数据库中获取朋友 ID。...News Feed:它存储了信息的ID。Content:它存储每个帖子的数据。受欢迎的内容被存储在热缓存中。Social Graph:它存储用户关系数据。

    84210

    Facebook 20 亿用户数据均可能泄露,扎克伯格仍不打算辞职

    从今天开始,使用该API的app将不再能够访问其他人的出席信息或发布在留言板上的活动信息。而且未来将只有Facebook批准的、同意严格要求的app才可以使用Events API。...Groups API:目前,应用程序需要 Groups 的管理员或成员的权限才能访问封闭组的内容,以及需要管理员的同意才能访问对私密组。 这些应用程序可帮助管理员轻松发布和回复组内的帖子。...但是,我们希望确保更好地保护群组中的成员和对话信息。未来,使用Groups API的所有第三方应用程序都需要Facebook和管理员的批准,以确保他们不损害群组。应用程序将不再能够访问组内成员列表。...用户通知的预览 总的来说,我们认为高达8700万人(主要在美国)的Facebook信息可能已经被Cambridge Analytica公司不正当地共享。...“我们是一家理想而乐观的公司,”扎克伯格说:“我们现在知道,我们没有做足够的工作来专注于防止数据滥用,也没有充分思考人们如何使用这些工具来造成伤害。”

    1.5K40

    统治世界的十大算法

    或是“Facebook的新闻提要是一种算法?”,因为如果Facebook的新闻提要也算是一种算法的话,那么最终你可以把几乎所有的东西都归类为算法。...目前,即便我们已经拥有了解决最短路径问题的更好方法,Dijkstra 算法依然在那些重视稳定性的系统中得到应用。 4. RSA算法 如果没有信息加密和网络安全,互联网不会像现在那么重要。...Google的Page Rank算法,Facebook向你展示的新闻提要(这就是为什么Facebook的新闻提要不是算法,只是使用算法的结果而已),Google+和Facebook的好友推荐,LinkedIn...的工作和联系人推荐,Netflix和Hulu的电影,YouTuBe的视频,等等。...现在我们还没有一个“真正的”随机数生成器,但我们已经有了一些伪随机数生成器,这够用了。

    86590

    伪装Meta合规通知的钓鱼攻击机制与中小企业防御策略研究

    摘要随着社交媒体平台在中小企业(SMB)数字营销中的核心地位日益凸显,针对其业务账号的定向钓鱼攻击显著上升。...5.4 安全运营与审计开启Business Manager安全告警:对角色变更、新设备登录、API调用异常实时通知;定期权限审计:每季度审查所有管理员与合作伙伴权限,移除闲置账户;启用登录活动日志:通过...有效的防御必须系统化:在身份层推行无钓鱼MFA,在网络层强化邮件内容与URL检测,在操作层建立标准化响应流程,在管理层实施定期权限审计。...未来,平台方亦需承担更多责任,例如在Business Suite中增加“此通知不可通过邮件处理”的显式提示,或对异常登录尝试实施更严格的上下文验证。...但在当前威胁环境下,组织自身的主动防御仍是抵御此类高度情境化攻击的最后也是最可靠防线。编辑:芦笛(公共互联网反网络钓鱼工作组)

    37210

    eBPF:数据平面可编程又一利器?

    因此,与在操作系统之外实现的功能相比,操作系统级别的创新率传统上较低。 Linux内核4的发布提供了一种新的方法,称为eBPF技术。...在加载到内核之前,eBPF 程序必须通过一组特定的检查。验证涉及在虚拟机中执行 eBPF 程序,这样做允许具有 10,000 多行代码的验证器执行一系列检查。...DASH(SONiC 主机的分布式 API)是一个网络项目,用于SDN数据平面,利用SmartNIC和其他硬件,通过在网络本身做更多工作(如加密或密钥管理),以合并计算和网络的方式,来提高云服务的网络性能...生成的字节码可以被任何应用程序使用,也可以通过Windows netsh命令行工具手动使用,这两个工具都使用一个公开Libbpf API的共享库,不过这项工作仍在进行中。...另外,eBPF 很快就进入了大型数据中心的基础设施软件层,例如,Facebook 发布了基于 eBPF 的负载均衡器Katran,它已经为 Facebook 数据中心提供了几年的支持。

    1.1K30

    还原Facebook数据泄漏事件始末,用户信息到底是如何被第三方获取的?

    他们应该怎样处理心理学家 Joseph Chancellor ,他曾帮助创建了 Kogan 的公司,并且现在还在 Facebook 工作?...这里有一份官方指南,本指南演示了从 Facebook 获取信息,并使用 Graph API 将信息发布到 Facebook 平台上的相关知识。...先决条件 登录 Facebook 账户 在单独的窗口中打开 Graph API Explorer 概述 Graph API Explorer 是一款应用程序,能够让你探索 Facebook 的社交图谱。...中读取数据 首先是查询 当你打开 Graph API Explorer 时,它将自动加载最新版本的 Graph API 和默认的 GET 请求,如:GET / me?...首先,选择一个应用程序并从 Application 的下拉菜单中执行删除操作。 在这个例子中,我们使用的是 Graph API Explorer 。

    5.3K50

    Zoom推出5.0版日活超3亿、GoogleDuo全面转向AV1等|Decode the Week

    02 Facebook对标Zoom推出Messenger Rooms 上周,Facebook宣布推出Messenger Rooms,以提高聊天应用Messenger的视频功能,该平台一次最多可支持50...飞书上个月取消了新闻提要功能,该功能是飞书工作站的一部分。 上周,飞书推出了不带工作站的精简版飞书,飞书精简版仍然提供群组聊天、在线文档管理以及视频会议等关键功能。...05 Android 11内测发布第三版 23日,Android发布了供开发人员内测的第三个版本。...在该版本中,Android 11 提供“退出原因(exit reasons)”API帮助开发者获取有关应用程序最近退出的原因。...此外,在面对消费者的高端功能中,包括通过(新)共享和屏幕截图按钮调整画中画(Picture in Picture)窗口大小,以及自动撤消未使用的应用程序的权限等功能。

    1.4K20

    真正统治世界的十大算法,你知道吗?

    此时此刻,如果你已经学过算法的话,那么在你阅读那篇文章时,你脑海中所浮现的第一件事也许是“作者是否明白算法是什么?”或是“Facebook的新闻提要是一种算法?”...,因为如果Facebook的新闻提要也算是一种算法的话,那么最终你可以把几乎所有的东西都归类为算法。因此,在本文中我会试着去解释什么是算法,以及哪十个(也许更多)算法是真正统治世界的。 什么是算法?...目前,即便我们已经拥有了解决最短路径问题的更好方法,Dijkstra 算法依然在那些重视稳定性的系统中得到应用。 4. RSA算法 如果没有信息加密和网络安全,互联网不会像现在那么重要。...Google的Page Rank算法,Facebook向你展示的新闻提要(这就是为什么Facebook的新闻提要不是算法,只是使用算法的结果而已),Google+和Facebook的好友推荐,LinkedIn...现在我们还没有一个“真正的”随机数生成器,但我们已经有了一些伪随机数生成器,这够用了。

    1.6K81

    “Meta合规通知”成钓鱼新马甲:全球中小企业遭遇精准围猎,账号沦陷后损失远超想象

    公共互联网反网络钓鱼工作组技术专家芦笛在接受本报专访时指出,“攻击者没有伪造域名,而是利用Meta自身提供的Business Suite邀请功能,将恶意链接嵌入到看似合规的业务流程中。”...五、防御之道:从技术加固到流程重构面对如此精密的攻击,仅靠“不点链接”已远远不够。Check Point与工作组均建议企业采取多层次防御策略:1....与此同时,公共互联网反网络钓鱼工作组正推动建立跨平台威胁情报共享机制。当某企业发现新型钓鱼模板时,可匿名上报特征哈希、域名、IP等指标,供其他成员快速布防。...正如一位受访店主所说:“现在我看到任何‘紧急通知’,第一反应不是点开,而是问一句——这真的来自平台吗?”在这个信任极易被伪造的时代,质疑,或许是最朴素也最有效的安全协议。...而真正的安全,从来不是某个产品的功能,而是一种全员参与的文化。编辑:芦笛(公共互联网反网络钓鱼工作组)

    14210

    Telegram困境反思:绝对隐私,相对自由

    Telegram 团队的核心成员有一些来自当初 VK 的员工,他们与保罗有着类似的信仰。这个团队也是最为颠沛流离的团队,成员从来没有公开的资料,工作场所也不固定。...Telegram 在各个平台上几乎是从最底层的简单 API 实现,几乎不使用常见的库,而是自己实现所有的界面控件,且控件样式简单,效率很高。...这样的结果并不出人意料,因为保罗还在 VK 的时候,俄罗斯政府要求其交出一位用户的个人信息,就遭到了保罗的拒绝。...遭到拒绝之后,俄罗斯政府便起诉了 Telegram,随后事件发展越来越严峻: 2017 年 8 月,俄罗斯政府向 Telegram 发布通知,表明其惩处意向,Telegram 继续无视; 2017...语气中多少透露着无奈,但依然有坚持。 保罗·杜洛夫本人是《黑客帝国》的忠实粉丝,一身黑衣是他的标志。

    3.5K00

    我在Android应用中发现硬编码的Facebook和Google API密钥(以及为什么这是个坏主意)

    我在Android应用中发现硬编码的Facebook和Google API密钥(以及为什么这是个坏主意)☕ 逆向分析APK很有趣...直到你发现生产环境密钥就这么赤裸裸地躺在代码里。...内容提要在分析一个公开的Android APK时,我直接在应用的strings.xml文件中发现了硬编码的Facebook和Google API凭证。...第三步:利用验证(仅限道德测试)✅ Facebook凭证验证通过Graph API测试凭证有效性:curl "https://graph.facebook.com/app?...:通过HTTPS端点动态获取使用NDK混淆并存入Android Keystore对于Google API密钥:按应用包名和SHA-1指纹限制仅开放必要API权限 核心原则:只要存在于APK中的内容,就不算秘密...披露声明:已通过正规渠道通知受影响企业,本文所有数据均已脱敏处理。

    31510

    Barracuda预警:高级OAuth钓鱼正悄然接管你的企业账号

    公共互联网反网络钓鱼工作组技术专家芦笛比喻道,“最可怕的是,整个过程完全合规,连MFA都拦不住。”...),再在后台兑换为长期有效的刷新令牌(Refresh Token);EvilProxy:更进一步,利用OAuth中的prompt=none参数,在用户已登录状态下静默触发授权流程,全程无弹窗、无交互,实现...定期吊销可疑刷新令牌通过Microsoft Graph API或安全中心,监控异常令牌活动(如非工作时间、非常用地点),并批量撤销高风险会话。.../privacy ,点击“应用权限”查看并移除不用的应用;启用登录活动通知:在微软账户安全设置中开启“异常登录提醒”,第一时间掌握风险。...在这场攻防战中,技术防护固然重要,但最关键的防线,仍是那个点击“同意”按钮的人。下次当你看到授权请求时,不妨多问一句:我真的需要给这个应用这么多权限吗?编辑:芦笛(公共互联网反网络钓鱼工作组)

    33510

    互联网行业法律动态报告(2014年8月)

    【信息保护】俄罗斯出台规定,要求链接公共场所的无线必须实行实名制; Facebook对用户信息的利用引争议,因涉嫌侵犯隐私遭6万用户集体诉讼;小米近期受到“未经许可上传用户资料”指控。...8月26日,国务院发布《国务院关于授权国家互联网信息办公室负责互联网信息内容管理工作的通知》,通知称,为促进互联网信息服务健康有序发展,保护公民、法人和其他组织的合法权益,维护国家安全和公共利益,授权重新组建的国家互联网信息办公室负责全国互联网信息内容管理工作...8月28日,工信部发布《加强电信和互联网行业网络安全工作的指导意见》。...8月3日,《人民日报》发布消息,称政府采购单位“已经将赛门铁克与卡巴斯基”从安全软件供应商名单中剔除。财政部和发改委7月下旬修改后的最新节能产品政府采购清单中,便携式计算机项目排除了苹果产品。...8月4日,工商总局专案组对微软全球副总裁Mary Snapp一行进行了反垄断调查询问。8月6日,对微软(中国)有限公司尚未完成检查的部门和人员进行突击检查。

    1K50
    领券