使用Curror包装库处理C++ CasANDRA客户端中的TCP连接失败 我正在用C++编写卡桑德拉的节约客户端包装库。在多数据中心设置中,我的每个应用程序线程都连接到一个数据中心中的几个Cassandra节点

使用Curror包装库处理C++ CasANDRA客户端中的TCP连接失败 我正在用C++编写卡桑德拉的节约客户端包装库。在多数据中心设置中,我的每个应用程序线程都连接到一个数据中心中的几个Cassandra节点,c++,tcp,cassandra,thrift,cql,C++,Tcp,Cassandra,Thrift,Cql,我计划有一个专用线程来处理应用程序和Cassandra节点之间的动态TCP连接故障,当一个数据中心中的多个节点无法访问时,该线程会重试连接并切换到其他数据中心。应用程序线程将通知此线程连接失败 我的问题是:这个进程/线程应该如何工作?是否有任何thrift呼叫或CQL查询可以像nodetool一样告诉数据中心中的当前向上/向下节点,或者我需要重试建立连接并对每个向下节点运行虚拟查询以进行检查 您是否检查过现有的高级Cassandra客户端?从头开始写一本需要一定的卡桑德拉内部知识。不是说,它不能

我计划有一个专用线程来处理应用程序和Cassandra节点之间的动态TCP连接故障,当一个数据中心中的多个节点无法访问时,该线程会重试连接并切换到其他数据中心。应用程序线程将通知此线程连接失败


我的问题是:这个进程/线程应该如何工作?是否有任何thrift呼叫或CQL查询可以像nodetool一样告诉数据中心中的当前向上/向下节点,或者我需要重试建立连接并对每个向下节点运行虚拟查询以进行检查

您是否检查过现有的高级Cassandra客户端?从头开始写一本需要一定的卡桑德拉内部知识。不是说,它不能做,但是已经有很多这样的测试,它们肯定是经过了更好的测试。我明白,从头开始写它是很困难的,这就是为什么我把我的库主要是用Hector写的,用C++编写的java客户机和libqcasand,并使它们适应我们的要求。我的库的其余部分现在工作得很好,它只是我想探索的一个位,看看是否有更好的方法。C++中有一个本地的驱动程序。