Couchbase memcached桶替代品

时间:2015-04-14 10:50:19

标签: .net memcached couchbase bucket

我目前正在寻找分布式缓存提供商的解决方案。目前我正在考虑使用Memcached存储桶的Couchbase 3服务器。我不确定,这是我需要的正确的事情。我不需要磁盘持久性和复制,因为信息并不重要,所以在这种情况下Couchbase存储桶似乎不太合适。

在我的测试中,我遇到了memcached存储桶的一些问题 - .NET客户端没有对节点故障做出反应,允许插入已存在密钥的条目(在故障节点上)。失败的节点再次返回后,存在两个具有相同密钥的文档,并且只能访问第一个文档。此外,我需要重新初始化bucket对象,以便它可以知道failovered节点,或者它继续在Get请求上抛出'ClientFailure'状态(这种操作很慢)。如果我的方向正确,那么每个文档的大小限制为1 mb让我重新思考。

有没有更好的方法来通知客户端失败的节点?如果没有,你能推荐一种适合我案例的技术吗?

2 个答案:

答案 0 :(得分:0)

您说您不需要持久性和复制,但后来关注节点故障。这不适合。

我的建议是使用Couchbase存储桶,并且确实需要复制因子为1.您希望这是一个高可用性缓存(这是Couchbase的一个非常常见的用例),具有多个节点的复制将给出你有空。您说数据并不重要,可能也是如此,但数据的可用性至关重要。否则你不会想要一个缓存。

因此,使用Couchbase SDK切换到Couchbase存储桶,您将获得所需的HA缓存,所需的性能以及所需的易用性。

答案 1 :(得分:0)

根据db-engines.com(https://db-engines.com/en/system/Ignite%3BMemcached%3BRedis%3Bcouchbase),Redis似乎是缓存的最佳解决方案。

  • Couchbase不支持对memcached存储桶进行复制。

  • 我还尝试了Apache Ignite(非常新的项目),它与memcached(二进制协议)兼容,并支持分片和复制。