我正在开发一个需要很多用户在同一个“宇宙”中的 Web 应用程序,其中会发生很多频繁的查询:
- 频繁查找位于某个框区域(X1、X2、Y1 和 Y2 之间)的客户端
- 客户频繁更新位置
- 客户频繁的聊天消息
- 客户频繁更新状态
- 新老客户端频繁连接断开
我相信我的节点可以有足够的内存供所有当前在线用户在 RAM 中。这就是我最初考虑 Redis 的原因。但是,我决定 Redis 不适用于这里,因为:
- 它有一个单点故障(一个主服务器)
- 只有主服务器可以写入,如果一个有 40 个节点,那么 39 个从服务器将不得不让一个主服务器写入每个条目
Cassandra 似乎解决了这些问题。
但是,Cassandra 是否也适合我的频繁查询?