集群实现概述
集群被设计和实现为独立 Garnet 服务器中的一个独立插件组件。它由以下两个子组件组成:
-
集群会话(
IClusterSession
)子组件:此组件实现了相关集群命令的 RESP 解析逻辑以及用于执行槽验证检查和生成适当重定向消息(即-MOVED
、-ASK
等)的相关原语。 -
集群提供程序(
IClusterProvider
)子组件:此组件实现了核心集群功能和特性,例如流言(gossip)、键迁移、复制和分片。
将集群划分为独立于独立 Garnet 服务器的独立组件具有双重目的。首先,它允许初始实现支持必要的集群功能,同时还使开发人员能够根据需要贡献新功能。其次,如果开发人员认为有必要或我们的默认实现不符合他们的需求,他们可以选择使用自己的集群实现。