【发布时间】:2015-06-19 22:50:44
【问题描述】:
我目前正在寻找分布式缓存提供程序的解决方案。目前我正在考虑使用 Memcached 存储桶的 Couchbase 3 服务器。我不确定,这是我需要的正确的东西。我不需要磁盘持久化和复制,因为信息并不重要,所以 Couchbase 存储桶在这种情况下似乎不太合适。
在我的测试中,我遇到了 memcached 存储桶的一些问题 - .NET 客户端不会对节点故障做出反应,允许插入具有现有密钥的条目(在故障节点上)。故障节点再次恢复后,存在两个具有相同密钥的文档,并且只有第一个可以访问。此外,我需要重新初始化存储桶对象,以便它可以知道故障转移的节点,或者它会在 Get 请求上不断抛出“ClientFailure”状态(这是一种缓慢的操作)。这和每个文档 1 mb 的大小限制让我重新思考我的方向是否正确。
有没有更好的方法来通知客户端失败的节点?如果没有,你能推荐我另一种适合我情况的技术吗?
【问题讨论】:
-
请注意,使用 Couchbase 存储桶,您可以将复制因子设置为无...而且持久性是在后台异步完成的,如果您不这样做,您不必等待它被确认不需要。此外,在 Couchbase 存储桶中,文档的大小限制为 20MB。
标签: .net memcached couchbase bucket