gpt4 book ai didi

facebook - 在 Feeds 架构(如 Facebook 新闻或 Twitter)中,如何使 feeds 计数与 feeds 列表的长度一致?

转载 作者:可可西里 更新时间:2023-11-01 11:37:49 28 4
gpt4 key购买 nike

我正在设计一个 Feeds 系统,一个人可以发布新闻,其他人可以看到彼此的新闻,就像 Twitter 一样。

现在我将新闻保存在 HBase 中,并将它们缓存在 Redis 中。这种方法有 O(1) 插入、更新和删除,但“计数”是很难实现的:

如果我在 Redis 中保存一个单独的计数,并在插入/删除时增加/减少它,该值很容易与 Hbase 中的实际列表长度不一致:网络上的一次故障或其他一些异常可以使值(value)受委屈。

如果我从 Hbase 获取计数,这非常耗时。

我应该做出什么样的设计选择?

最佳答案

HBase 提供对原子计数器的支持:无需在 Redis 中维护计数并依赖多个系统,您只需将 HBase 用于一切(实时)。

只需插入帖子,如果一切正常,增加计数器。您甚至可以有多个计数器来跟踪每天、每周、每月、每年的帖子总数和帖子……这是一个非常强大的功能。

更多信息HBase Book有几个专用于计数器的页面,您也可以查看 increment example .

关于facebook - 在 Feeds 架构(如 Facebook 新闻或 Twitter)中,如何使 feeds 计数与 feeds 列表的长度一致?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29813236/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com