0

我们遇到了一个问题,即 Cassandra 节点在 18 个节点的集群中出现故障,并且由于本机传输请求线程达到最大容量 128(默认)和 NTR 最大排队容量而导致整个集群读/写延迟飙升达到(默认为 128)并且本机传输请求开始被阻止。

我不确定被阻止的请求在这里意味着什么?cassandra 是否会在队列满之前开始使传入请求失败?或者请求在服务器端被阻止,直到它们超时。

如果是后者,是否有可能使来自 Cassandra 服务器端的这些请求快速失败?

我们正在使用带有 Datastax Cassandra java 驱动程序 3.0.0 的 Apache Cassandra 版本 2.2.8

4

1 回答 1

1

您可以增加并发请求的数量以协调这是一个足够常见的配置,其中-Dcassandra.max_queued_native_transport_requests=4096包含2.2.8+的许多微小请求。没有功能可以让它返回错误而不是阻塞,但是会在客户端上注意到背压并在那里排队,直到您遇到繁忙的池异常。

于 2018-12-12T15:05:09.587 回答