对于 system_auth,默认 Class 应该是 SimpleStrategy 或 NetworkTopologyStrategy

For system_auth default Class should be SimpleStrategy or NetworkTopologyStrategy

在我们的 Prod 集群中,我看到一些带有 SimpleStrategy 的 system* 键空间。 当我们在集群中添加新的 DC 时,我们需要在 NetworkTopologyStrategy 上,否则当我 运行 nodetool 重建时,它失败了。

我将所有键空间从 SimpleStrategy 更改为 NetworkTopologyStrategy,并且重建工作正常。

在 ALTER 期间,它还会警告您正在更改系统密钥空间。

另一个问题:Opscenter Keyspace(rollup* tables) 有大量数据,为什么我要复制它,它应该足以放在 1 个 DC 上? ?

我的问题是系统* 键空间的理想策略是什么?

My question what should be the ideal strategy for system* keyspaces?

关于这个的一点警告。 systemsystem_schema 有一个特殊的复制策略 LocalStrategy,它们应该保持这种状态。

但是 system_authsystem_distributedsystem_traces 的其他键空间是另一回事。为每个 DC 设置使用 NetworkTopologyStrategy 和 RF 3(假设每个 DC 至少有 3 个节点)是完全可以接受的。 system_distributedsystem_traces 的设置并不 一样重要,但应该不会有什么坏处。

另一方面,system_auth 绝对应该设置为使用 NetworkTopologyStrategy 并为每个 DC 指定一个 RF。原因是 SimpleStrategy 可能会将其所有副本放在一个 DC 中,甚至可能将零个副本放在一个 DC 中。这可能会导致身份验证检查出现高延迟甚至超时,因为这会导致跨 DC 网络流量。

此外,如果您的应用程序使用特定于 DC 的负载平衡策略,您 需要为 system_auth 中的每个 DC 指定一个 RF。如上所述,使用 SimpleStrategy 可能会导致 DC 无法为用户获取任何副本。而且 阻止特定于 DC 的应用程序连接。