【发布时间】:2016-08-17 21:20:48
【问题描述】:
我正在创建一个小型服务,我经常(每 5 秒左右)轮询大约 100 个帐户(在类似 Twitter 的服务中)以检查新消息,因为该服务尚未提供流 API(就像 Twitter 一样)。
在我的脑海中,我将架构计划为每个用户每 5 秒排队 Tickers。一旦滴答声触发,我对服务进行 API 调用,检查他们的消息,然后将 SELECT 调用到我的 Postgres 数据库以获取特定的用户详细信息并检查最新消息的日期,以及是否有比该消息更新的消息UPDATE 进入并通知用户。重复令人作呕。
我在后端事物和架构方面不是很有经验,所以我想确保这不是一个绝对荒谬的设置。对数据库的调用量是否合理?我在滥用 goroutines 吗?
【问题讨论】:
标签: postgresql go architecture goroutine ticker