当集群中的某些cassandra服务器出现故障时,phpcassa需要花费大量时间来响应。
逻辑上,phpcassa应该连接到正在运行的节点并获取数据,而不是尝试连接到down节点。
有人知道phpcassa是如何工作的吗? 在节点情况下它的行为是什么?
答案 0 :(得分:2)
检查make_conn
函数here和最后几行ConnectionPool
constructor
所以,首先PHPCassa随机洗牌你的服务器列表,
然后它尝试在一个周期内连接到列表中的每个服务器两次,只有在第一个周期[make_conn
]之后队列长度为零时
否则它会在第一次成功连接时返回
还要记住,不会从构造函数中调用make_conn
函数。它将在需要时调用。源代码非常简单,你可以通过它来获得更多的意义