我想在不统一的硬件集群上运行 couchbase 集群。有些机器有 1 个 CPU 核心,而其他机器有 16 个核心。
有没有办法配置桶大小或请求频率,以便较大的服务器可以接收更大百分比的负载?
我正在寻找的是类似于ketama中的权重,但对于 Couchbase。
你在之前的回答中说:
Usually 1 small instance and 4-20 large ones. The small one basically only exists for cluster discovery.
您真正应该做的是通过反向代理(例如Haproxy)而不是不断启动的节点连接到您的 Couchbase 集群。反向代理将在其池中拥有所有潜在节点,不断寻找哪些节点真正启动,并将连接分派到这些节点。一旦节点出现故障,将重新建立与活动节点的连接。
您可以在 Couchbase 文档中阅读有关此架构描述的更多信息。
不,没有方法可以满足您的要求。CB 中的键将其自己的哈希函数映射到 VBuckets,并将 VBuckets 映射到服务器。Couchbase API 不允许托管此映射。您所能做的就是由拥有该文档的文档服务器的 ID 确定。