如何知道c++驱动程序是否丢失了与Cassandra的连接?

How can I know whether the connection to Cassandra was lost with the C++ driver?

本文关键字:Cassandra 连接 c++ 何知道 驱动程序 是否      更新时间:2023-10-16

我想知道是否有一种方法可以让我知道与所有Cassandra节点的连接是否被c++驱动程序丢失。

我的应用程序有一个代理服务器连接到Cassandra一次,并永远在那里。其他服务将连接到该代理服务器并根据需要发送请求。

这很有效,直到所有与Cassandra集群的连接都丢失。在这种特殊情况下,代理似乎无法恢复…

是否有一种方法可以让我知道/检测到所有连接都丢失了,从而再次尝试connect() ?

我也有同样的情况,最好的解决方案是检查您向Cassandra发出的请求/查询的错误。我刚刚测试了这个,如果所有连接都消失了,驱动程序立即返回:

CASS_ERROR_LIB_NO_HOSTS_AVAILABLE

这是我自己的解决方案,因为我找不到一个更好的,实际上这个为我工作,因为它不等待一个特定的超时,但立即返回