Cassandra Python驱动程序:强制使用单个节点

Cassandra Python驱动程序:强制使用单个节点,python,cassandra,Python,Cassandra,是否可以强制Python驱动程序连接到单个指定的节点(并且不与其他节点创建收集池和/或具有令牌意识) 在我的具体案例中,我有两个不同的网络,它们彼此看不见,只有一台机器“看到”两个网络 在某些情况下,我想从“外部”网络连接到Cassandra,从而使用那个特殊的机器。我发现了两个问题:我能让那台机器成为戒指的一部分,但不保存任何数据吗?可以强制Python驱动程序只连接到该机器吗?不完全确定您在这里试图实现什么,但是如果我根据您的问题本身的优点来考虑,我会有一些想法。免责声明:这是一种尝试……可

是否可以强制Python驱动程序连接到单个指定的节点(并且不与其他节点创建收集池和/或具有令牌意识)

在我的具体案例中,我有两个不同的网络,它们彼此看不见,只有一台机器“看到”两个网络


在某些情况下,我想从“外部”网络连接到Cassandra,从而使用那个特殊的机器。我发现了两个问题:我能让那台机器成为戒指的一部分,但不保存任何数据吗?可以强制Python驱动程序只连接到该机器吗?

不完全确定您在这里试图实现什么,但是如果我根据您的问题本身的优点来考虑,我会有一些想法。免责声明:这是一种尝试……可能有效,也可能无效

我能让那台机器成为戒指的一部分但不保存任何数据吗

您可以在这里做的一件事是将该机器置于其自己的逻辑数据中心。然后,根据每个键空间的复制系数,可以(或不能)将数据复制到其中

是否可以强制Python驱动程序仅连接到该机器

假设您在自己的逻辑数据中心中有一台计算机(如我上面所建议的),您可以在连接属性中指示要选择的数据中心:

cluster = Cluster(
['10.1.1.1'],
load_balancing_policy=DCAwareRoundRobinPolicy(local_dc='DATACENTER_NAME'),
port=9042)

当然,Python驱动程序仍然会通过gossip“发现”其他节点的拓扑。但是,只要您在本地一致性级别进行查询,您的驱动程序就应该与您首选的DC保持一致。

不完全确定您在这里试图实现什么,但如果我根据您的问题本身的优点来考虑问题,我会有一些想法。免责声明:这是一种尝试……可能有效,也可能无效

我能让那台机器成为戒指的一部分但不保存任何数据吗

您可以在这里做的一件事是将该机器置于其自己的逻辑数据中心。然后,根据每个键空间的复制系数,可以(或不能)将数据复制到其中

是否可以强制Python驱动程序仅连接到该机器

假设您在自己的逻辑数据中心中有一台计算机(如我上面所建议的),您可以在连接属性中指示要选择的数据中心:

cluster = Cluster(
['10.1.1.1'],
load_balancing_policy=DCAwareRoundRobinPolicy(local_dc='DATACENTER_NAME'),
port=9042)
当然,Python驱动程序仍然会通过gossip“发现”其他节点的拓扑。但是,只要您在本地一致性级别进行查询,您的驱动程序就应该与首选DC保持一致

是否可以强制Python驱动程序仅连接到该机器

虽然将机器固定在自己的数据中心会起作用,但还有另一种可能更简单的解决方案。您可以使用白名单策略,并仅为其提供希望与之通信的一个节点

 cluster = Cluster(contact_points=contact_points, load_balancing_policy=WhiteListRoundRobinPolicy(contact_points))
通过这样做,您可以限制驱动程序的连接,使其仅与一个节点联系。 但是,我要警告您,如果该节点宕机,您的应用程序将宕机,因为它将无法与环中的任何其他人通信

是否可以强制Python驱动程序仅连接到该机器

虽然将机器固定在自己的数据中心会起作用,但还有另一种可能更简单的解决方案。您可以使用白名单策略,并仅为其提供希望与之通信的一个节点

 cluster = Cluster(contact_points=contact_points, load_balancing_policy=WhiteListRoundRobinPolicy(contact_points))
通过这样做,您可以限制驱动程序的连接,使其仅与一个节点联系。
但是,我要警告您,如果该节点宕机,您的应用程序将宕机,因为它将无法与环中的任何其他人通信

我会努力的,这或多或少是我在想的。那么您认为一个数据中心的复制系数为0可能有效吗?@CedricH。是的,我想试试零射频。它应该让你具体说明。我试试看,这或多或少是我在想的。那么您认为一个数据中心的复制系数为0可能有效吗?@CedricH。是的,我想试试零射频。它应该让你指定。很好!我不知道这个白名单的事情。谢谢。要使用的导入是:
来自cassandra。策略导入WhiteListRoundRobinPolicy
很好!我不知道这个白名单的事情。谢谢。要使用的导入是:
来自cassandra。策略导入白名单RobinPolicy