Riak CS 实例是否与集群内的其他 Riak CS 实例交互?为什么 Riak CS 部署在集群的每个节点上?

Does Riak CS instances interact with other Riak CS instances inside a cluster and why is Riak CS deployed on each node of a cluster?

Riak CS implements the S3 API for an underlying Riak distributed, decentralized data storage system. Not only the Riak data storage system but also Riak CS must be deployed on each node. A further component called Stanchion 必须部署在集群内的单个节点上,以保持用户 ID 和存储桶名称在集群内唯一。

与 Riak 和 Riak CS 不同,它们都 运行 在您的多个节点上 集群,你的集群中应该只有一个 运行ning Stanchion 实例 随时Riak CS集群

其实没有必要在每个Riak KV节点上都安装Riak CS。据最后统计,我们的一个较大的 Riak CS 支持客户只有 20 个 Riak CS 节点用于 300 多个 Riak KV 节点。

过于简单化,Riak CS 本质上是 Riak KV 的独立客户端,提供 S3 接口,而 Stanchion 是协调器,确保一切都放在正确的位置。

Riak CS 节点不相互通信。多个 CS 节点的想法是在 Riak CS 节点故障的情况下提供冗余,并在多个客户端同时连接的情况下分担负载。理想情况下,多个 Riak CS 节点应该在它们前面有一个负载均衡器。 Haproxy 是最受欢迎的。

撰写本文时的最新版本是 Riak CS 2.1.2 和 Stanchion 2.1.2,可以从(https://files.tiot.jp/riak/cs/2.1/2.1.2/ and https://files.tiot.jp/riak/stanchion/2.1/2.1.2/ 相应地)下载它们,但我们热切期待 Riak CS 3.0 在 OTP 20 上的发布和今年晚些时候的 OTP 22