在幻灯片上,您可以看到非常粗略的预订系统架构。这是一个非常并发的环境,许多用户可能会同时尝试预订同一个酒店/房间。
在底部我们有NoSQL数据库,为了快速响应/请求,有分布式缓存和请求数据的应用程序。
这张幻灯片的想法是,当您使用NoSQL +分布式缓存时,您会遇到同步问题,这意味着数据一致性问题。您需要将分布式缓存与NoSQL db同步。
问题:除了IMDG之外,此类案例已经存在哪些解决方案/技术?这可能是框架或/和最佳实践。是否有任何特定的分布式缓存可以解决这个问题?
问题2 [更新]:我们写入NoSQL db而不是缓存的原因是什么?那是交易,节点失败的可能性还是其他什么?
P.S。这不是我的幻灯片,作者声称这是IMDG的一个很好的用例。
答案 0 :(得分:2)
您真的需要分布式缓存吗? NoSQL解决方案本质上非常高效,接近独立缓存(如memcached)的性能。
我可以从Cassandra获得~10ms的访问时间,这比大多数缓存都慢。
我敢打赌,当你输入缓存验证开销和错过缓存命中的网络开销时,你最好直接进入数据库。
您仍然可以将缓存用于不太短暂的事情,例如房间类型,价格等。