【发布时间】:2016-07-12 16:08:00
【问题描述】:
想象一下像 Twitter 这样的服务,其中用户有一个锚点名称和一个全名。按照 CQRS 模式,您可以为包含推文正文和海报全名的推文生成视图。
您将如何处理用户全名的更新?您是否想启动一个漫长的过程来更新所有视图?我正在考虑用户拥有数千条推文的场景。
【问题讨论】:
-
嗯,这就是 Twitter 所做的 - Timelines at Scale / The Architecture Twitter Uses To Deal With 150M Active Users, 300K QPS, A 22 MB/S Firehose, And Send Tweets In Under 5 Seconds。我记得,它们的读取与写入是分开的,这与 CQRS 非常相似。
-
尤里卡。基本上他们正在做我在发现 DDD 和 CQRS 之前所做的事情(我讨厌加入):由于时间线只包含推文 ID,他们必须“水合”这些推文,即找到推文的文本。给定一组 ID,他们可以执行 multiget 并从 T-bird 并行获取推文。 我敢打赌,他们对 UserId 也是如此。