蚊章汇 - Reddit
type: channel
link: https://linuxcn.bwsl.wang/tag/Reddit/
items: 硬核观察 #1057 谷歌再次重申“量子霸权”，声称制造了 70 个量子比特的量子超级计算
items: 硬核观察 #1040 RHEL 源代码将只放在 CentOS Stream 上
items: 硬核观察 #1038 谷歌警告员工不要使用 Bard 生成的代码
items: 硬核观察 #1034 Reddit 威胁换掉继续抗议的子区管理员
items: 硬核观察 #1030 超过 80% 的 Reddit 子区关闭
items: 硬核观察 #1028 谷歌 Bard 现在可以自己编写代码来回答问题
items: 硬核观察 #1020 日本表示版权不适用于 AI 训练
items: 在 Linux 终端中阅读 Reddit
items: Reddit 如何实现大规模的帖子浏览计数

硬核观察 #1057 谷歌再次重申“量子霸权”，声称制造了 70 个量子比特的量子超级计算
type: item
date: 2023-07-10T04:52:00+08:00
description: 谷歌再次重申“量子霸权”，声称制造了 70 个量子比特的量子超级计算机“量子霸权” 是指量子计算机超越现有机器的一个里程碑点。四年前，谷歌制造了有 53 个量子比特的量子计算机，声称自己是第一家实现 “量子霸权” 的公司。据谷歌最新发表的论文，其新的量子计算机有 70 个量子比特，增加更多的量子比特可以成倍地提高量子计算机的功率，这意味着新机器比 2019 年的机器强大 2.41 亿倍！这台量子计算机可以瞬间完成目前最好的超级计算机 Frontier 需要 47 年才能完成的计算。研究人员还声称，他们最新的量子计算机比被视为该领域领导者的中国实验室演示的量子计算机更加强大。消息来源：telegraph老王点评：想想都非常可怕，如果量子计算机能投入实用，几乎可以颠覆整个信息世界。Linux 内核发现特权提升重大漏洞 StackRot该漏洞被称为 “StackRot”，CVSS 评分为 7.8，影响 Linux 6.1 至 6.4 版本，可以使用户在目标主机上获得提升的权限。迄今为止，没有证据表明该漏洞已经在野外被利用。StackRot 漏洞出现在内存管理子系统中，它几乎影响到所有的内核配置，只需要最小的 权能 capability 即可触发。在 6 月 15 日负责任的披露之后，经过 Linux 内核团队两周努力，截至 2023 年 7 月 1日，它已经在新的内核版本中得到解决。消息来源：The Hacker News老王点评：无论如何，打补丁升级就是了。不过一般生产服务器都应该还没升级到 6.x 呢吧。Reddit 对使用 NSFW 抗议策略的子区发出最后通牒始于上个月中旬的 Reddit 子区 抗议，到现在仍有两千多个子区闭版。为了杜绝任何剩余的抗议活动，Reddit 正在向那些决定允许 NSFW（非工作安全）内容作为破坏公司广告业务的方式的子区发出“最后通牒”。Reddit 称，“这是对你的社区不准确的 NSFW 标签的最后通牒，这违反了《版主行为守则》第 2 条。你的子区历来不被认为是 NSFW，在我们目前的政策下也不属于。”如果不取消该标签，将导致参与这一活动的子区管理员们将被从管理团队中删除。消息来源：PC Mag老王点评：在 Reddit 看来，这些不听话的管理员们就是既得利益的“地主阶级”，需要剔除才行。

硬核观察 #1040 RHEL 源代码将只放在 CentOS Stream 上
type: item
date: 2023-06-23T06:41:00+08:00
description: RHEL 源代码将只放在 CentOS Stream 上在没有宣布废弃 CentOS 之前，RHEL 的源代码会发布在 git.centos.org 上，那时候 CentOS 还是 RHEL 的下游。之后，在 CentOS Stream 成为 RHEL 的上游后，该仓库得以保留。红帽宣布，“CentOS Stream 将成为公开发布 RHEL 相关源代码的唯一仓库。对于红帽的客户和合作伙伴，源代码将继续通过红帽客户门户网站提供。”并进一步澄清，“这一变化并不意味着CentOS 项目、CentOS Stream 或 CentOS SIG 的源代码可用性有任何变化。”但这一举动引来了社区的一些人的担心，“Alma Linux，Rocky Linux，Oracle Linux 等将更难提供与 RHEL 版本 1:1 的二进制兼容的构建。”消息来源：Phoronix老王点评：我认为，从目前的声明上看，这种担心或许是多余的，我们只需要观察之后的 RHEL 和 CentOS Stream 之间差异有多大就好了。但从对这个事情的反应可以看出，社区对红帽的信任在降低。Reddit 用户涌入 Lemmy类似马斯克收购 Twitter 后 Twitter 难民涌入 Mastodon，大量 Reddit 难民涌入了 Lemmy 实例。其中，lemmy.world 实例的总用户数达到了 3.8 万。突然间，Lemmy 已经成为最大的联邦宇宙项目之一。在 Reddit 社区重新开放之后，部分用户可能会离开，但也许有更多用户会留下。消息来源：Lemmy老王点评：这些联邦宇宙社区会得到更多用户，但 Twitter、Reddit 失血更多。C++ 26 标准正在制定中C++ 版本以其发布的年份命名，并遵循三年的周期。国际标准化组织 C++ 标准委员会发布了 C++ 26 的进展情况。根据其时间表，新语言功能的截止日期是 2024 年第三季度，功能冻结将在 2025 年第一季度。委员会已经通过了 40 份 “修改文件”，增加了 _ 字符通配符，基本字符集添加了 @、$ 和 `。此外，在 C++ 26 中还支持了危险指针。危险指针是指 “只有其所有者可以设置其值，而任何数量的线程都可以读取其值” 的指针，它很难导致非常常见的内存安全问题。消息来源：Dev Class老王点评：在我看来，C++ 标准的演进有一定的意义，但是这并不能阻止其传统的领域被 Rust、Carbon 等新底层语言的侵蚀。

硬核观察 #1038 谷歌警告员工不要使用 Bard 生成的代码
type: item
date: 2023-06-21T00:36:29+08:00
description: 谷歌警告员工不要使用 Bard 生成的代码谷歌对外宣传 Bard 有助于开发者提高工作效率，但它对内警告员工不要使用 Bard 生成的代码。谷歌解释称，它的内部使用禁令是因为 Bard 会产生不需要的代码建议，潜在会导致程序出现错误或过于复杂，软件过于臃肿，相比不使用 AI 辅助编程需要更多时间修复。该公司表示，它的目标是对其技术的局限性保持透明 —— Bard 会提出不想要的代码建议，但它还是有助于程序员。消息来源：路透社老王点评：合着还是拿用户做小白鼠啊，所以你放心使用 AI 生成的代码用在生产环境吗？Reddit 抗议活动仍在继续中上周一二，Reddit 版主们为了抗议 Reddit 的 API 定价政策而宣布关闭他们管理的子区，最高时期超过 90% 的子区变成了私有或限制发帖状态。直到一周后，仍有三千多个子区继续抗议，但最大的一些已经重新开放，不过这些子区将他们的抗议改为到张贴喜剧演员约翰·奥利弗的照片，“所有帖子都必须是约翰·奥利弗看起来很性感的图片”。Reddit 声称，它做出 API 价格改变是为了从 AI 需求中获利，AI 可以利用其托管的内容进行大型语言模型训练。消息来源：The Register老王点评：即便是迫于 IPO 压力，但我说，Reddit 这件事办的很糟糕，最后很可能是两败俱伤的结果。Meta 宣布危险到不能公布代码的语音生成 AI 模型Meta 公司昨天宣布了一个名为 Voicebox 的新人工智能模型，它说这是迄今为止功能最全面的语音生成器，“但由于滥用的潜在风险”，目前没有公开提供 Voicebox 模型或代码。该模型仍然只是一个研究项目，Meta 公司说它可以从短至两秒的样本中生成六种语言的语音，未来可用于 “自然、真实” 的翻译等方面。消息来源：The Verge老王点评：当一个 AI 已经不能被人类或 AI 识别时，很可能带来的风险超过收益。

硬核观察 #1034 Reddit 威胁换掉继续抗议的子区管理员
type: item
date: 2023-06-17T02:27:41+08:00
description: Reddit 威胁换掉继续抗议的子区管理员本周初，数千 Reddit 子区 闭版 以抗议 Reddit API 的天价收费，因为这事实上扼杀了管理员们赖以执行管理操作的第三方客户端。Reddit CEO 对员工 表示 不要担心，因为抗议不会影响公司收入。他称，“大部分子区会按计划在周三回归，我们干好自己的工作就行了”。周三，部分子区陆续恢复，但也有很多子区将继续保持关闭 —— 直到 Reddit 改变其政策。目前还有超过一半的子区保持关闭或限制，这包括订阅数超过四千万的 r/funny、超过三千万的 r/aww、r/Music 等。此外，Reddit 还威胁将移除继续抗议的管理员。Reddit 宣称，如果一个子区的管理团队一致同意停止管理社区，它将邀请愿意管理社区的新管理员来管理社区；而如果至少有一名管理员愿意维持社区运作，Reddit 将移除不想管理社区的管理员。消息来源：Hacker News老王点评：真是要硬扛到底啊，这不是移除几个“刺头”管理员就能解决问题的，相信这样的抗议也代表了大部分社区中坚的意见。无论如何，这都是一幕罕见的大规模社区对抗事件，让我们拭目以待。YouTube 通知其开源替代品 Invidious 关闭Invidious 是 YouTube 的一个开源 “替代前端”，允许用户在没有数据跟踪的情况下观看 YouTube 视频，也可以让用户在观看视频时不被 “恼人的广告” 打断。YouTube 声称该软件违反了其 API 政策，称它没有显示 YouTube 服务条款的链接，也没有 “明确” 解释其对用户信息的处理。YouTube 要求它在 7 天内关闭。消息来源：VICE老王点评：看来开放 API 将全面进入关闭时代，各个网站都开始扼杀这些妨碍其广告业务的客户端了。或许在官方看来，这些利用其 API 的第三方客户端就是在对它们吸血。Alphabet 出售了谷歌域名产品Alphabet 正在结束其谷歌域名业务，并将其资产以约 1.8 亿美元的价格出售给 SquareSpace。这些资产包括“在谷歌域名业务上托管的 1000 万个域名，分布在数百万个客户中”。谷歌域名业务于 2014 年推出，在 2022 年退出了测试阶段。它拥有诸多新的顶级域名，是 HTTPS 的主要支持者之一。消息来源：9to5google老王点评：谷歌连域名这么重要的基础设施服务都开始砍掉，以后还能信任谷歌在基础设施方面的持续性么？

硬核观察 #1030 超过 80% 的 Reddit 子区关闭
type: item
date: 2023-06-13T02:58:31+08:00
description: 超过 80% 的 Reddit 子区关闭此前，我们 报道 过，Reddit 为 API 访问设定了远超合理的价格，事实上扼杀了第三方客户端，招致社区的强烈抗议，子区管理员们定于 12 日临时或永久关闭子区以抗议。现在，Reddit 社区开始计划中的大规模抗议。截止发文，Reddit 共有逾 7,266 个子区（版块），目前已有 6,292 个已经关闭了对外访问，从公开变成私有，其中包括订阅数超过四千万的 r/funny，订阅数超三千万的 r/aww、r/gaming、r/Music 等等，订阅人数合计超过 26 亿。Reddit CEO 上周五举办的问答讨论没有解决任何问题，反而更进一步激怒了 Reddit 社区，一些原计划关闭 48 小时的子区也决定无限期关闭。抗议者们还制作了 专门的网站 来统计已经关的子区，非常壮观的列表。消息来源：Reddark老王点评：这下好了，都关闭了，Reddit 就省钱了。Debian 12 “Bookworm” 正式发布在将近 2 年的开发之后，代号为 “Bookworm” 的 Debian 12 正式发布，它将得到 5 年的支持。Debian 12 使用的桌面环境包括：GNOME 43、KDE Plasma 5.27、LXDE 11 等。该版本的软件包总数达到 64,419，包含 11,089 个新的软件包，移除了 6,296 个过时的软件包，更新了 43,254 个软件包，总占用磁盘空间 365 GB，总代码行数达 13 亿行。消息来源：Debian老王点评：无论如何，Debian 仍然是最重要的 Linux 发行版之一，也是诸多发行版的根源。西方更担心中国获得 AI 主导地位风险投资家 Marc Andreessen 撰文批评了 “AI 末日论者”，称人工智能 “并不想杀死你，因为它不是活的……人工智能是一台机器 —— 它不会像你的烤面包机那样活过来。”他认为，科技公司之所以倡导建立监管壁垒，形成一个由政府保护的人工智能供应商组成的企业联盟，免受新的创业公司和开源竞争的影响，是这样他们就可以赚更多钱。另外他指出，不以最大力度和速度追求人工智能的实际风险就是中国，中国正在快速发展人工智能。为了阻止中国人工智能影响力的扩散，他认为，“美国和西方国家应该尽可能地靠拢人工智能”。消息来源：CNBC老王点评：人工智能这个魔盒打开后，基于博弈论的考虑，是无法关上的。

硬核观察 #1028 谷歌 Bard 现在可以自己编写代码来回答问题
type: item
date: 2023-06-11T02:13:49+08:00
description: 谷歌 Bard 现在可以自己编写代码来回答问题谷歌表示 Bard 在逻辑和推理方面越来越好。谷歌说，现在当你问 Bard 一个计算任务，如数学或字符串操作，Bard 不像其它大语言模型一样显示语言模型的输出，而是会写一个程序，并执行该程序，然后向用户显示该程序的输出作为答案。谷歌举例说，对于“请为我逆转 Lollipop 这个单词”的问题，ChatGPT 会通过语言模型给出答案 “pillopoL”，这个答案是错误的。而 Bard 会显示正确的结果，并给出计算的 Python 代码。当然，谷歌警告说，Bard 可能会对你的问题解释错误从而犯错；也有可能编写了错误的程序，就像人类编写程序一样，往往第一遍是带有错误的。消息来源：谷歌老王点评：这就太像人类了，居然会自己编程、自己运行。GitHub Copilot 是一种“巧妙的软件盗版方法”GitHub Copilot 是根据 OpenAI 的 Codex 模型建立的代码建议工具，由微软的 GitHub 进行商业化。Copilot 因其无视版权和许可证直接输出开发者公开发布的开源代码而被起诉。微软、GitHub 和 OpenAI 试图驳回此案，但只设法甩掉了一些索赔，法官保留了主要的版权和许可问题待审。2022 年 7 月，为了回应公众对 Copilot 的批评，GitHub 推出了一个用户可调整的 Copilot 过滤器，以将代码建议及其周围约 150 个字符的代码与 GitHub 上的公共代码进行检查。如果有匹配或接近匹配，该代码建议将不会显示给你。但 Copilot 优化了 AI 输出的温度设置，以尽可能多地产生许可内容的小变化，使其看起来不是完全复制的，来逃避版权和许可的侵犯。投诉称，“Copilot 是一种巧妙的软件盗版方法”。消息来源：The Register老王点评：到底改变多少才不算抄袭呢？或许，我觉得更公平的做法是，在输出代码时提示该代码衍生自哪种许可证的代码，因此受哪种许可证影响，如何使用取决于用户自己。但似乎这样做存在一些技术困难，因为 AI 到底是如何糅合出新的代码，对人类来说还是一个黑盒。Reddit 封杀第三方客户端之后的社区反应之前，我们 报道 过， Reddit 大幅调整了其 API 价格，事实上扼杀了第三方客户端。出于对此政策的极度不满，Reddit 社区将于 6 月 12 日举行大规模抗议活动，参与抗议的大部分子区将关闭 48 小时，但还有部分将无限期关闭。ArchiveTeam 团队希望赶在 12 日之前 存档 内容，他们目前已存档了 108 亿个帖子（包括帖子内容、评论和图像），还有 1.5 亿个帖子等待完成，团队表示时间来不及了，希望更多人参与帮助。此外，著名的 Reddit 第三方 iOS 客户端 Apollo 宣布将于 6 月 30 日 关闭 该客户端，并 公开 了其后端源代码以示它是合法使用 API，并遵守了 API 的速率限制。消息来源：Reddit消息来源：Reddit老王点评： Reddit 的日子或许不好过，他们在裁员和缩减招聘。但是我觉得这种学着 Twitter 作死而跟着作死的做法，实在是无语。

硬核观察 #1020 日本表示版权不适用于 AI 训练
type: item
date: 2023-06-03T03:10:32+08:00
description: 日本表示版权不适用于 AI 训练日本政府最近重申，它不会对用于人工智能培训的数据实施版权。该政策允许人工智能使用任何数据，“无论它是出于非营利还是商业目的，无论它是复制以外的行为，还是从非法网站或其他地方获得的内容”。日本政府认为版权方面的担忧，特别是与动漫和其他视觉媒体有关的担忧，阻碍了该国在人工智能技术方面的进步。消息来源：Technomancers老王点评：关于 AI 和版权，这确实是一个值得思考的领域。如果 AI 只能使用公共数据训练，显然会影响 AI 的结果。现在非英语的训练语料显然要比英语语料少得多，日本的这个做法值得参考。荷兰政府网站必须强制遵守 security.txt 标准荷兰国家政府数字信任中心宣布，荷兰政府网站从 5 月 25 日开始必须强制遵守 security.txt 标准。Web 服务器上的 security.txt 包含了联系信息，允许道德黑客在服务器上发现漏洞之后可以立即联络合适的人去修复，从而减少网络犯罪分子利用漏洞的机会。目前有逾 8.8 万个荷兰域名有 security.txt 文件。消息来源：Postsen老王点评：这种行业规范确实需要国家来推动才好。Reddit 也准备对 API 收费，杀死第三方客户端继 Twitter 之后，Reddit 最近修改了 API 政策，计划对 API 访问收费。开发者发现 Reddit 给出了一份无法接受的报价，5000 万次请求 1.2 万美元，这意味着第三方客户端除了关闭别无选择。当然，Reddit 认为相比 Twitter 的 5000 万推文 4.2 万美元 API 定价要合理的多。和 Twitter 的情况类似，第三方客户端一大优势也是不展示 Reddit 的广告。消息来源：Reddit老王点评：只是计较于第三方客户端占据了本应展示的广告量，却忘记了第三方客户端给生态带来的好处。回音在 ChatGPT 杜撰 了 6 个案例之后，美国得州的一位法官禁止递交 AI 撰写的材料，除非其正确性经过了人类验证。并要求律师递交保证书，证明其递交的文件是人类撰写或经过了人类的审核。

在 Linux 终端中阅读 Reddit
type: item
date: 2020-02-09T18:41:25+08:00
description: 在我们的 20 个使用开源提升生产力的系列的第十一篇文章中使用 Reddit 客户端 Tuir 在工作中短暂休息一下。去年，我在 19 天里给你介绍了 19 个新（对你而言）的生产力工具。今年，我换了一种方式：使用你在使用或者还没使用的工具，构建一个使你可以在新一年更加高效的环境。使用 Tuir 阅读 Reddit短暂休息对于保持生产力很重要。我休息时喜欢去的地方之一是 Reddit，如果你愿意，这可能是一个很好的资源。我在那里发现了各种有关 DevOps、生产力、Emacs、鸡和 ChromeOS 项目的文章。这些讨论可能很有价值。我还关注了一些只有动物图片的子板，因为我喜欢动物（而不只是鸡）照片，有时经过长时间的工作后，我真正需要的是小猫照片。当我阅读 Reddit（不仅仅是看动物宝宝的图片）时，我使用 Tuir（Reddit 终端 UI）。Tuir 是功能齐全的 Reddit 客户端，可以在运行 Python 的任何系统上运行。安装是通过 pip 完成的，非常简单。首次运行时，Tuir 会进入 Reddit 默认文章列表。屏幕的顶部和底部有列出不同命令的栏。顶部栏显示你在 Reddit 上的位置，第二行显示根据 Reddit “Hot/New/Controversial” 等类别筛选的命令。按下筛选器前面的数字触发筛选。你可以使用箭头键或 j、k、h 和 l 键浏览列表，这与 Vi/Vim 使用的键相同。底部栏有用于应用导航的命令。如果要跳转到另一个子板，只需按 / 键打开提示，然后输入你要进入的子板名称。某些东西除非你登录，否则无法访问。如果你尝试执行需要登录的操作，那么 Tuir 就会提示你，例如发布新文章 （c）或赞成/反对 （a 和 z）。要登录，请按 u 键。这将打开浏览器以通过 OAuth2 登录，Tuir 将保存令牌。之后，你的用户名应出现在屏幕的右上方。Tuir 还可以打开浏览器来查看图像、加载链接等。稍作调整，它甚至可以在终端中显示图像（尽管我没有让它可以正常工作）。总的来说，我对 Tuir 在我需要休息时能快速跟上 Reddit 感到很满意。Tuir 是现已淘汰的 RTV 的两个分叉之一。另一个是 TTRV，它还无法通过 pip 安装，但功能相同。我期待看到它们随着时间的推移脱颖而出。via: https://opensource.com/article/20/1/open-source-reddit-client作者：Kevin Sonney 选题：lujun9972 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出

Reddit 如何实现大规模的帖子浏览计数
type: item
date: 2018-01-02T20:29:29+08:00
description: 我们希望更好地将 Reddit 的规模传达给我们的用户。到目前为止，投票得分和评论数量是特定的帖子活动的主要指标。然而，Reddit 有许多访问者在没有投票或评论的情况下阅读内容。我们希望建立一个能够捕捉到帖子阅读数量的系统。然后将该数量展示给内容创建者和版主，以便他们更好地了解特定帖子上的活动。在这篇文章中，我们将讨论我们如何大规模地实现计数。计数方法对浏览计数有四个主要要求：计数必须是实时的或接近实时的。不是每天或每小时的总量。每个用户在短时间内只能计数一次。显示的数量与实际的误差在百分之几。系统必须能够在生产环境运行，并在事件发生后几秒内处理事件。满足这四项要求比听起来要复杂得多。为了实时保持准确的计数，我们需要知道某个特定的用户是否曾经访问过这个帖子。要知道这些信息，我们需要存储先前访问过每个帖子的用户组，然后在每次处理对该帖子的新访问时查看该组。这个解决方案的一个原始实现是将这个唯一用户的集合作为散列表存储在内存中，并且以帖子 ID 作为键名。这种方法适用于浏览量较少的文章，但一旦文章流行，阅读人数迅速增加，这种方法很难扩展。有几个热门的帖子有超过一百万的唯一读者！对于这种帖子，对于内存和 CPU 来说影响都很大，因为要存储所有的 ID，并频繁地查找集合，看看是否有人已经访问过。由于我们不能提供精确的计数，我们研究了几个不同的基数估计算法。我们考虑了两个非常符合我们期望的选择：线性概率计数方法，非常准确，但要计数的集合越大，则线性地需要更多的内存。基于 HyperLogLog（HLL）的计数方法。HLL 随集合大小 次线性 sub-linearly 增长，但不能提供与线性计数器相同的准确度。要了解 HLL 真正节省的空间大小，看一下这篇文章顶部包括的 r/pics 帖子。它有超过 100 万的唯一用户。如果我们存储 100 万个唯一用户 ID，并且每个用户 ID 是 8 个字节长，那么我们需要 8 兆内存来计算单个帖子的唯一用户数！相比之下，使用 HLL 进行计数会占用更少的内存。每个实现的内存量是不一样的，但是对于这个实现，我们可以使用仅仅 12 千字节的空间计算超过一百万个 ID，这将是原始空间使用量的 0.15％！（这篇关于高可伸缩性的文章很好地概述了上述两种算法。）许多 HLL 实现使用了上述两种方法的组合，即对于小集合以线性计数开始，并且一旦大小达到特定点就切换到 HLL。前者通常被称为 “稀疏” HLL 表达，而后者被称为“密集” HLL 表达。混合的方法是非常有利的，因为它可以提供准确的结果，同时保留适度的内存占用量。这个方法在 Google 的 HyperLogLog++ 论文中有更详细的描述。虽然 HLL 算法是相当标准的，但在我们的实现中我们考虑使用三种变体。请注意，对于内存中的 HLL 实现，我们只关注 Java 和 Scala 实现，因为我们主要在数据工程团队中使用 Java 和 Scala。Twitter 的 Algebird 库，用 Scala 实现。Algebird 有很好的使用文档，但是稀疏和密集的 HLL 表达的实现细节不容易理解。在 stream-lib 中的 HyperLogLog++ 的实现，用 Java 实现。stream-lib 中的代码有很好的文档，但是要理解如何正确使用这个库并且调整它以满足我们的需求是有些困难的。Redis 的 HLL 实现（我们选择的）。我们认为，Redis 的 HLL 实施方案有很好的文档并且易于配置，所提供的 HLL 相关的 API 易于集成。作为一个额外的好处，使用 Redis 通过将计数应用程序（HLL 计算）的 CPU 和内存密集型部分移出并将其移至专用服务器上，从而缓解了我们的许多性能问题。Reddit 的数据管道主要围绕 Apache Kafka。当用户查看帖子时，事件被激发并发送到事件收集器服务器，该服务器批量处理事件并将其保存到 Kafka 中。从这里，浏览计数系统有两个按顺序运行的组件。我们的计数架构的第一部分是一个名为 Nazar) 的 Kafka 消费者，它将读取来自 Kafka 的每个事件，并通过我们编制的一组规则来确定是否应该计算一个事件。我们给它起了这个名字是因为 Nazar 是一个保护你免受邪恶的眼形护身符，Nazar 系统是一个“眼睛”，它可以保护我们免受不良因素的影响。Nazar 使用 Redis 保持状态，并跟踪不应计算浏览的潜在原因。我们可能无法统计事件的一个原因是，由于同一用户在短时间内重复浏览的结果。Nazar 接着将改变事件，添加一个布尔标志表明是否应该被计数，然后再发回 Kafka 事件。这是这个项目要说的第二部分。我们有第二个叫做 Abacus 的 Kafka 消费者，它实际上对浏览进行计数，并使计数…