Couchbase memcached bucket 替代品
Couchbase memcached bucket alternatives
我目前正在寻找分布式缓存提供程序的解决方案。目前我正在考虑使用 Memcached 存储桶的 Couchbase 3 服务器。但我不确定,这是我需要的正确的东西。我不需要磁盘持久化和复制,因为信息不是至关重要的,所以 Couchbase bucket 在这种情况下似乎不太合适。
在我的测试中,我遇到了 memcached 存储桶的一些问题 - .NET 客户端不会对节点故障做出反应,允许插入具有现有密钥的条目(在故障节点上)。故障节点再次恢复后,同一个key存在两个文档,只有第一个可以访问。此外,我需要重新初始化存储桶对象,以便它可以知道故障转移的节点,或者它一直在 Get 请求上抛出 'ClientFailure' 状态(这是一种缓慢的操作)。那和每个文档 1 mb 的大小限制让我重新考虑我是否在正确的方向上。
有没有更好的方法来通知客户端故障节点?如果没有,你能给我推荐另一种适合我的情况的技术吗?
你说你不需要持久化和复制,但是又担心节点故障。那不合适。
我的建议是使用 Couchbase 存储桶,并且您确实需要一个 1 的复制因子。您希望这是一个高度可用的缓存(这是 Couchbase 的一个非常常见的用例),具有多个节点的复制将为您提供可用性。你说数据不重要,这可能是真的,但数据的可用性很关键。否则你不会想要缓存。
因此,切换到带有 Couchbase SDK 的 Couchbase 存储桶,您将获得所需的 HA 缓存、所需的性能和易用性。
根据 db-engines.com (https://db-engines.com/en/system/Ignite%3BMemcached%3BRedis%3Bcouchbase) Redis 似乎是缓存的最佳解决方案。
Couchbase 不支持 memcached 存储桶的复制。
我也尝试了 Apache Ignite(相当新的项目),它与 memcached(二进制协议)兼容并支持分片和复制。
我目前正在寻找分布式缓存提供程序的解决方案。目前我正在考虑使用 Memcached 存储桶的 Couchbase 3 服务器。但我不确定,这是我需要的正确的东西。我不需要磁盘持久化和复制,因为信息不是至关重要的,所以 Couchbase bucket 在这种情况下似乎不太合适。
在我的测试中,我遇到了 memcached 存储桶的一些问题 - .NET 客户端不会对节点故障做出反应,允许插入具有现有密钥的条目(在故障节点上)。故障节点再次恢复后,同一个key存在两个文档,只有第一个可以访问。此外,我需要重新初始化存储桶对象,以便它可以知道故障转移的节点,或者它一直在 Get 请求上抛出 'ClientFailure' 状态(这是一种缓慢的操作)。那和每个文档 1 mb 的大小限制让我重新考虑我是否在正确的方向上。
有没有更好的方法来通知客户端故障节点?如果没有,你能给我推荐另一种适合我的情况的技术吗?
你说你不需要持久化和复制,但是又担心节点故障。那不合适。
我的建议是使用 Couchbase 存储桶,并且您确实需要一个 1 的复制因子。您希望这是一个高度可用的缓存(这是 Couchbase 的一个非常常见的用例),具有多个节点的复制将为您提供可用性。你说数据不重要,这可能是真的,但数据的可用性很关键。否则你不会想要缓存。
因此,切换到带有 Couchbase SDK 的 Couchbase 存储桶,您将获得所需的 HA 缓存、所需的性能和易用性。
根据 db-engines.com (https://db-engines.com/en/system/Ignite%3BMemcached%3BRedis%3Bcouchbase) Redis 似乎是缓存的最佳解决方案。
Couchbase 不支持 memcached 存储桶的复制。
我也尝试了 Apache Ignite(相当新的项目),它与 memcached(二进制协议)兼容并支持分片和复制。