Der Datastax C/C++ - Treiber verfügt über eine Blacklist-Filterfunktionalität als Teil seiner Load-Balancing-Steuerelemente.Datastax Cassandra C/C++ - Treiber cass_cluster_set_blacklist_filtering-Funktionalität
https://docs.datastax.com/en/developer/cpp-driver/2.5/topics/configuration/
mich korrigieren, wenn ich etwas fehlt, aber mein Verständnis ist, dass ein CQL Client zu der schwarzen Liste Hosts keine Verbindung herstellen können.
Ich bin mit C/C++ Treiber v2.5 und dem unten stehenden Codeblock und zu versuchen, zu einem Cluster mit verbinden:
CassCluster* cluster = cass_cluster_new();
CassSession* session = cass_session_new();
const char* hosts = "192.168.57.101";
cass_cluster_set_contact_points(cluster, hosts);
cass_cluster_set_blacklist_filtering(cluster, hosts);
CassFuture* connect_future = cass_session_connect(session, cluster);
In diesem Codeblock den Host, der an der CQL Client versucht, eine Verbindung ist als schwarze Liste gesetzt. Der CQL-Client scheint jedoch eine Verbindung mit diesem Host herzustellen und alle Abfragen auszuführen. Stimmt etwas mit dem obigen Codeblock nicht? Wenn nicht, ist dies das erwartete Verhalten? Verhält es sich anders, weil es ein Multinode-Cluster ist und eine Verbindung zu den anderen Peers herstellt?
Jede Hilfe wird geschätzt.
Danke im Voraus
Vielen Dank für den Vorschlag. Die Blacklist-Richtlinie wird vom C/C++ - Treiber unterstützt. Es gibt auch die Whitelist-Richtlinie, die vom C/C++ - Treiber und anderen Sprachentreibern unterstützt wird. Mit der Whitelist-Richtlinie des C/C++ - Treibers stellt der Client eine Verbindung zu einem Knoten her, auch wenn er nicht in der Whitelist enthalten ist, aber alle Daten auf den Whitelist-Hosts speichert (funktioniert genauso wie die Blacklist). Mit Whitelist-Richtlinie des Python-Treibers stellt der Client keine Verbindung zu Knoten her, die nicht in der Whitelist enthalten sind. Also nehme ich an, dass Datenstaxtreiber verschiedener Sprachen unterschiedliche Implementierungen der Whitelist-Richtlinie haben können. –
@MariosBraho Sie haben Recht, der Python-Treiber respektiert die Whitelist-Hosts und stellt keine Verbindung zum Host her. Ich habe ein Ticket auf dem DataStax C/C++ Jira Board erstellt, wenn Sie es verfolgen möchten; https://datastax-oss.atlassian.net/browse/CPP-447. – Fero