我在一个GCE实例的docker中有一个couchbase服务器。
尝试使用此程序包https://godoc.org/github.com/couchbase/go-couchbase#GetBucket并按照示例进行操作,但我得到了一个超时错误。
2015/04/06 17:32:34 Trying with selected node 0
2015/04/06 17:33:49 HTTP request returned error Get http://172.17.0.2:8092/default/_design/someKey: dial tcp 172.17.0.2:8092: operation timed out
2015/04/06 17:33:49 error Get http://172.17.0.2:8092/default/_design/someKey: dial tcp 172.17.0.2:8092: operation timed out
exit status 1
我试着在与docker相同的主机上执行我的golang脚本,它运行得很好。但从其他机器或本地机器,它将无法工作
大多数Couchbase SDK都有一个相当激进的超时,因为它们希望靠近集群。
我想这就是为什么你在上面的例子中看到超时,但当客户端和服务器位于同一位置时却没有。
将SO_TIMEOUT=8000
和CONNECTION_TIMEOUT=12000
添加到环境变量中对我很有效。我使用的是node.js,但这个解决方案似乎不是特定于语言的,所以它将是一个很好的起点。