集群中每个节点上的多个 Cassandra 实例

Multiple instances of Cassandra on each node in the cluster

是否可以在 Cassandra 中建立一个集群,其中每个服务器都是 运行 多个 Cassandra 实例(每个实例都是同一集群的一部分)。

我知道如果集群中只有一台服务器,那么 it's possible to run multiple instances of Cassandra on it,但集群中是否也可以有多个这样的服务器。如果是,配置将如何(监听地址、端口等)?

即使有可能,我知道可能根本没有任何性能优势,只是想知道理论上是否可行。

是的,这是可能的,这样的设置通常用于测试,例如,使用 CCM, although it creates multiple interfaces on loopback (127.0.0.2, ...). DataStax Enterprise also has so-called Multi-instance

您需要仔细配置您的实例以分隔端口等。现在,可能使用 Docker 可能是更简单的实现方法。

但是为什么需要这样做呢?除非你有真正的 biffy 机器,有很多 RAM 和多个 SSD,否则这不会给你带来额外的性能。

是的,即使我在生产集群的一台服务器上使用过 5 个实例 运行 也是可能的。 相信我,它仍然是 运行,但我遇到的一般问题一直是高 GC、丢失突变和高延迟,所以当然有这种设置是不好的。 但对于您的问题的回答是,它是可能的并且也可以投入生产。