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クライアントはこのホストに接続しているようで、クエリを実行します。上記のコードブロックに何か問題がありますか?もしそうでなければ、これは期待された振る舞いですか?マルチノードクラスタで他のピアとの接続を確立するため、動作が異なりますか?
ご協力いただければ幸いです。あなたが唯一の接触点を供給しているので
は、IPアドレスは、クラスタへの制御接続を確立するために使用されていることを、事前
ありがとうございます。ブラックリストポリシーはC/C++ドライバでサポートされています。 C/C++ドライバやその他の言語ドライバでサポートされているホワイトリストポリシーもあります。 C/C++ドライバのホワイトリストポリシーでは、クライアントはホワイトリストに含まれていなくてもノードに接続しますが、ホワイトリストホストにはすべてのデータを格納します(ブラックリストと同じ方法で動作します)。ホワイトリストのPythonドライバのポリシーでは、クライアントはホワイトリストに含まれていないノードに接続しません。だから、私は、異なる言語のdatastaxドライバは、ホワイトリストポリシーの異なる実装を持っていることを前提としています。 –
@MariosBrahoあなたが正しいです、pythonドライバはホワイトリストホストを尊重し、ホストへの接続を確立しません。あなたがそれを追跡したいなら、私はDataStax C/C++ Jiraボード上のチケットを作成しました。 https://datastax-oss.atlassian.net/browse/CPP-447。 – Fero