2

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

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

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

问题:除了 IMDG 之外,这种情况下已经存在哪些解决方案/技术?这可能是框架或/和最佳实践。是否有任何特定的分布式缓存可以解决这个问题?

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

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

在此处输入图像描述

4

1 回答 1

2

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

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

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

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

于 2015-02-20T15:56:52.610 回答