我一直在研究Couchbase Server。
我发现有一些词可以帮助我们完成它的架构。 我想知道,在一个集群内,什么意味着一个活跃的和复制的vbuckets?这些如何与每个节点中存在的服务一起使用?
答案 0 :(得分:2)
如果节点发生故障,可以将副本vbuckets提升为活动vbuckets,这称为故障转移。或者,当故障节点被新节点替换并且群集重新平衡时,可以使用副本vbuckets,从而在新节点中恢复活动vbucket。
运行数据服务的节点有一个投影仪和路由器进程,用于监控文档突变并报告索引服务的相关更改,以便它们可以更新他们的索引。
查询服务处理 N1QL 查询。它使用索引服务执行扫描,使用数据服务从活动的vbucket中检索数据。
使用 Couchbase社区版,您必须在群集中的每个节点上运行所有服务,而企业版允许您选择要在每个节点上运行的服务节点。此企业功能是多维缩放。
此图片显示了三个服务之间的部分交互。但是,它不会显示查询服务与数据服务的交互。
客户端拥有群集映射,可帮助他们在群集中查找数据和服务。例如,集群映射知道文档属于哪个活动的vbucket(通过从文档密钥或ID创建散列)。如果有副本,它还知道该文档的副本所在的位置。如果从活动vbucket检索数据太慢或节点失败,客户端可能会使用副本。