高度并发环境中 NoSQL + 分布式缓存的数据一致性

Data consistency for NoSQL + Distributed Cache in very concurrent environment

在幻灯片上,您可以看到非常粗略的预订系统架构。这是一个非常并发的环境,许多用户可能会同时尝试预订相同的 hotel/room。

在底部我们有 NoSQL 数据库,为了快速 response/request 有分布式缓存和请求数据的应用程序。

这张幻灯片的想法是,当您使用 NoSQL + 分布式缓存时,您会遇到同步问题,这意味着数据一致性问题。您需要将分布式缓存与 NoSQL 数据库同步。

问题:除了IMDG之外,这种情况下solutions/techniques还有什么?这可能是两个框架 or/and 的最佳实践。有没有具体的分布式缓存可以解决这个问题?

问题 2[更新]:我们写入 NoSQL 数据库而不是缓存的原因是什么?是交易、节点失败的可能性还是其他什么?

P.S. 这不是我的幻灯片,作者声称这是 IMDG 的一个很好的用例。

你真的需要分布式缓存吗? NoSQL 解决方案本质上非常高效,接近独立缓存(如 memcached)的性能。

我可以从 Cassandra 获得大约 10 毫秒的访问时间,这并不比大多数缓存慢多少。

我敢打赌,当您投入缓存验证开销和错过缓存命中的网络开销时,您最好直接访问您的数据库。

您仍然可以将缓存用于不那么短暂的事物,例如房间类型、价格等。