クラスター内の cassandra サーバーの一部がダウンしている場合、phpcassa の応答に時間がかかります。
論理的には、phpcassa はダウンしているノードに接続しようとするのではなく、実行中のノードに接続してデータを取得する必要があります。
phpcassaの仕組みを知っている人はいますか? ノードがダウンしている状況での動作は?
ここmake_conn
で関数を確認し、コンストラクターの最後の数行を確認してくださいConnectionPool
そのため、最初の PHPCassa はサーバー リストをランダムにシャッフルし、最初のサイクルの後にキューの長さがゼロの場合にのみ、リスト内のすべてのサーバーに 1 サイクルで 2 回接続を試みます [ make_conn
] それ以外の場合は、最初に成功した瞬間に戻ります繋がり
また、make_conn
関数はコンストラクターから呼び出されないことにも注意してください。必要なときに呼び出されます。ソースコードは非常にシンプルで、理解するために一通り読むことができます
このコードをチェックして、接続エラーがどのように処理されるかを確認し、これを確認して接続エラーの理由を確認してください。