Datastax C/C++驅動程序具有黑名單過濾功能作爲其負載平衡控件的一部分。Datastax Cassandra C/C++驅動程序cass_cluster_set_blacklist_filtering功能
https://docs.datastax.com/en/developer/cpp-driver/2.5/topics/configuration/
糾正我,如果我失去了一些東西,但我的理解是,一個CQL客戶端無法連接到黑名單主機。
我使用C/C++驅動V2.5和下面代碼塊和嘗試連接到多節點集羣:
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);
在該代碼塊主機到的客戶端CQL試圖連接是設爲黑名單。但是,CQL客戶端似乎連接到此主機並執行任何查詢。上述代碼塊有問題嗎?如果不是這樣,這是預期的行爲?它的行爲不同,因爲它是一個多節點集羣並與其他節點建立連接?
任何幫助將不勝感激。
預先感謝您
謝謝你的建議。黑名單策略由C/C++驅動程序支持。還有C/C++驅動程序和其他語言驅動程序支持的白名單策略。使用C/C++驅動程序的白名單策略,即使客戶端不包含在白名單中,但將任何數據存儲在白名單主機中(與黑名單的工作方式相同),客戶端也會連接到一個節點。通過Python驅動程序的白名單策略,客戶端不會連接到未包含在白名單中的節點。因此,我認爲不同語言的datastax驅動程序可能會有不同的白名單策略實施。 –
@MariosBraho你是對的,python驅動程序尊重白名單主機並且不建立到主機的連接。如果您想跟蹤它,我已在DataStax C/C++ Jira板上創建了一張票; https://datastax-oss.atlassian.net/browse/CPP-447。 – Fero