gpt4 book ai didi

cassandra - 客户端和服务器端超时设置的区别

转载 作者:行者123 更新时间:2023-12-05 07:33:36 25 4
gpt4 key购买 nike

按照这个流程:Cassandra read_request_timeout_in_ms set up for external(Client) request ,我知道在服务器端设置超时是不够的,我们还需要在客户端设置。

在客户端和服务器端设置超时有什么区别?

示例:

          Setting the request time out in server side in Cassandra (cassandra.yaml)
VS
Setting the request time out in client side in Cassandra driver

已编辑:

driver read timeout: the driver did not receive any response from the current coordinator within SocketOptions.setReadTimeoutMillis. It invokes onRequestError on the retry policy with an OperationTimedOutException to decide what to do.
server read timeout: the driver did receive a response, but that response indicates that the coordinator timed out while waiting for other replicas. It invokes onReadTimeout on the retry policy to decide what to do.

请有人清楚地解释两者的目的和区别。

最佳答案

在服务器端设置超时,即在 cassandra.yaml 中设置超时与使用 SocketOptions.setReadTimeoutMillis 设置驱动程序(又名客户端)超时不同。他们都单独工作。一个不会凌驾于另一个之上。通常,您应该将驱动程序超时设置为略大于服务器端超时。

  1. 如果 Cassandra 节点可访问且正常工作,但它无法在 cassandra.yaml 中提到的读取时间内响应,它将抛出异常,驱动程序将获得相同的异常。如果已配置,驱动程序可能会重试。
  2. 如果 Cassandra 节点由于某种原因没有响应,驱动程序不能无限期地等待。如果 Cassandra 没有响应,那是驱动程序超时开始并抛出异常的时候。

关于cassandra - 客户端和服务器端超时设置的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50527656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com