Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jdbc Cassandra如何确保高可用性?_Jdbc_Cassandra_Fallback - Fatal编程技术网

Jdbc Cassandra如何确保高可用性?

Jdbc Cassandra如何确保高可用性?,jdbc,cassandra,fallback,Jdbc,Cassandra,Fallback,我想了解Cassandra是如何确保高可用性的。我所知道的是,当我们查询Cassandra数据库中的数据时,一个名为coordinator的节点将查询路由到集群中具有所需数据的适当Cassandra节点。 但是,如果我们在JDBC连接URL中指定的节点(我认为它将充当集群中的协调器,如果我错了,请让我更正)本身关闭了怎么办? 在这种情况下,Cassandra如何确保高可用性 也许我们作为开发人员必须为此提供回退机制?在Cassandra集群中,所有节点都是平等的。集群级别没有主节点或协调节点。连

我想了解Cassandra是如何确保高可用性的。我所知道的是,当我们查询Cassandra数据库中的数据时,一个名为coordinator的节点将查询路由到集群中具有所需数据的适当Cassandra节点。 但是,如果我们在JDBC连接URL中指定的节点(我认为它将充当集群中的协调器,如果我错了,请让我更正)本身关闭了怎么办? 在这种情况下,Cassandra如何确保高可用性


也许我们作为开发人员必须为此提供回退机制?

在Cassandra集群中,所有节点都是平等的。集群级别没有主节点或协调节点。连接到群集时,通常指定一个或多个要连接的节点,但一旦驱动程序连接,它就可以了解其他节点的情况。这意味着,如果它连接到的第一个节点发生故障,它知道其他节点,可以连接到其中一个节点

如果将查询发送到本身不承载请求数据的节点(或指定了高于1的一致性级别),则该节点将充当查询的协调器,但这是一个临时角色,任何节点都可以为任何查询担任该角色


甚至还有一些驱动程序,如Astyanax,它们连接到多个节点,试图找出哪个节点包含请求的数据,并使用与该节点的连接来执行查询,以尽量减少查询时间。

在Cassandra集群中,所有节点都是相等的。集群级别没有主节点或协调节点。连接到群集时,通常指定一个或多个要连接的节点,但一旦驱动程序连接,它就可以了解其他节点的情况。这意味着,如果它连接到的第一个节点发生故障,它知道其他节点,可以连接到其中一个节点

如果将查询发送到本身不承载请求数据的节点(或指定了高于1的一致性级别),则该节点将充当查询的协调器,但这是一个临时角色,任何节点都可以为任何查询担任该角色


甚至还有一些驱动程序(如Astyanax)连接到多个节点,试图找出哪个节点包含请求的数据,并使用与该节点的连接进行查询,以尽量减少查询时间。

感谢您的帮助。但阿斯蒂亚纳克斯似乎是卡桑德拉更高层次的包装。我想使用纯JDBC连接与cassandra进行交互。这种情况下会发生什么?Cassandra JDBC客户机()没有Astyanax或其他中级驱动程序(如Hector或Pelops)那么先进,因此我猜您在自动重新连接方面运气不佳。但是,如果您的应用程序知道集群中的一些节点,它可以尝试依次连接到它们,直到找到一个已启动的节点。由于没有节点是特殊的,所以它最终连接到哪个节点并不重要。谢谢您的帮助。但阿斯蒂亚纳克斯似乎是卡桑德拉更高层次的包装。我想使用纯JDBC连接与cassandra进行交互。这种情况下会发生什么?Cassandra JDBC客户机()没有Astyanax或其他中级驱动程序(如Hector或Pelops)那么先进,因此我猜您在自动重新连接方面运气不佳。但是,如果您的应用程序知道集群中的一些节点,它可以尝试依次连接到它们,直到找到一个已启动的节点。因为没有节点是特殊的,所以它最终连接到哪个节点并不重要。