在集群配置中使用 couchbase 作为内存缓存
Using couchbase as memcache in a cluster configuration
我有一个 couchbase 集群,它在我基于 Django 的生产环境中也可以作为 'drop-in' 替代 memcached。
换句话说:在我的 django 配置中,我提供了一个 couchbase 节点作为内存缓存服务的 'Location'。
这很好用 - 但会造成单点故障:如果我提供的那个节点出现故障怎么办?
我想我可以提供一个虚拟 IP/FQDN 来轮询我的 CB 集群中的每个节点,但我希望有更好的解决方案?也许是 Django 内置的东西?
看来,如果我提供 "Location" 的列表,django 只会将键分片到所有位置 - 这不会解决我的问题。
更好的解决方案是使用 Couchbase's MOXI server 代理 memcached。你将它安装在你的应用程序服务器上,它会为你连接到 Couchbase 集群。在 Moxi 的配置中,您要确保至少使用 3 个 Couchbase 集群节点。在 Couchbase 集群中,确保您使用的是 Couchbase 存储桶。
我有一个 couchbase 集群,它在我基于 Django 的生产环境中也可以作为 'drop-in' 替代 memcached。
换句话说:在我的 django 配置中,我提供了一个 couchbase 节点作为内存缓存服务的 'Location'。
这很好用 - 但会造成单点故障:如果我提供的那个节点出现故障怎么办?
我想我可以提供一个虚拟 IP/FQDN 来轮询我的 CB 集群中的每个节点,但我希望有更好的解决方案?也许是 Django 内置的东西?
看来,如果我提供 "Location" 的列表,django 只会将键分片到所有位置 - 这不会解决我的问题。
更好的解决方案是使用 Couchbase's MOXI server 代理 memcached。你将它安装在你的应用程序服务器上,它会为你连接到 Couchbase 集群。在 Moxi 的配置中,您要确保至少使用 3 个 Couchbase 集群节点。在 Couchbase 集群中,确保您使用的是 Couchbase 存储桶。