我们遇到了一个问题,其中Cassandra节点在18个节点的集群中发生故障,并且集群的整体读取/写入延迟上升,由于本机传输请求线程达到最大容量128(默认)和NTR最大值队列容量达到上限(默认值为128),并且本机传输请求开始被阻止。
我不确定阻止的请求在这里意味着什么?在队列已满之前,cassandra是否会开始使传入请求失败?或请求在服务器端被阻止,直到超时为止。
如果是后者,是否有可能使来自Cassandra服务器端的这些请求快速失败?
我们将Apache Cassandra版本2.2.8与Datastax Cassandra Java驱动程序3.0.0结合使用
答案 0 :(得分:1)
您可以增加并发请求的数量以进行协调,这是一个常见的配置,其中许多-Dcassandra.max_queued_native_transport_requests=4096
和2.2.8+的微小请求。没有使其返回错误而不是阻塞的功能,但是背压将在客户端上注意到并在客户端排队,直到您遇到繁忙的池异常为止。