|
|
1
10
我认为解决方案将高度依赖于你到底需要做什么。一个解决方案,写成千上万
每秒可能与增加
柜台
不管怎样,回到你具体的简单案例和你的选择 选项1(主从复制)
你在这里要面对的问题是数据库
选项2(分频)
选项3(批量更新)
非常接近。一种由轻量级存储器提供的缓存层,它提供并发的
原子的
不要丢失你的数据。我们曾经
解决方案如下:
进一步扩展
|
|
|
2
2
你问了一个典型的 CQRS 问题。”CQRS”代表命令查询职责分离。这就是它听起来的样子——你把写(命令)和读(查询)分开了。这种方法解决了当您在写操作和读操作之间有不同需求时的问题—这正是您的情况。 承认 (即。, )对增量的请求,并将其排队等待处理。并让读取按请求实时工作。使用 命令处理程序知道 . i、 例如,如果失败,它应该知道如何解决冲突(例如,如果其他人更新了行,则检索更新的版本并重试)。 我完全不同意另一个答案,有人说排队会使整个系统瘫痪。排队并没有让任何事情停止,因为它是排队而不是实时处理。这就是缩放的重点。相反,实时更改,即使这意味着只更改内存缓存中的布尔标志,也比排队要糟糕得多。试想一下,如果内存中的缓存在那一刻关闭了,会发生什么。异步脱机(后台)处理可确保此类问题不会阻止最终处理命令。 但是,您可能需要缓慢地处理排队的命令(不管它能以何种速度处理而不影响读取),或者在单独的数据副本中处理。
|