刚接触太空,我一直试图缩小潜力,但似乎在转动我的轮子。
我正在存储字符串-> 字符串查找。键和值可能各不到 15 个字节。用户 ID -> 他们连接到的服务器。
- 我们有多个数据中心
- 需要在低毫秒范围内本地读/写的能力。
我尝试写入远程 Redis,它似乎与太慢的网络延迟有关。这排除了简单的 MS 解决方案。 - 节点故障和整个数据中心故障都需要 HA。暗示复制
- 更喜欢在一次调用中提供查询多个查询的能力的解决方案。MGET
- 每秒几十万个 SET 和每秒几百万个 GET
- 免费用于商业用途(例如可以付费,以便 Riak 成为可能)
- 我只需要支持 GET、SET、DELETE、[MGET 首选] 的解决方案
Active - Active / Multi Master / Clusters with replication - 我只是模糊地熟悉这些术语及其权衡。
http://blog.nahurst.com/visual-guide-to-nosql-systems 在 CAP Theorem 中,我可能想要一个 AP 解决方案,但是却经常失败。当典型的 CP 解决方案可以通过复制解决方案(如 Dynamite/Dynamo/Twemproxy/等)进行扩充时,这会更加令人困惑。
我的候选名单,但对任何解决方案都持开放态度。
- Redis 集群
- Redis+Sentinel 与 Dynomite
- Memcached 与 Dynomite
- 伏地魔
知道我应该如何找到满足我需求的解决方案,或者是否有人想到了解决方案?