問題タブ [gocql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1219 参照

go - Cassandra GOCQL ドライバー (Golang) を使用してページの状態を把握する

私は、Apache Cassandra でのページングが GOlang でドライバー機能を使用してどのように機能するかについて頭を悩ませてきました。

行をフェッチするための次のコードがあります

私が達成しようとしていること: 私が参照しているテーブルは巨大で、18,000 行を超えています。ドライバーの組み込みページングを使用して最も効率的な方法で特別な操作のためにそれらすべてをフェッチして、クエリが実行されないようにしたいのです。タイムアウトします。

問題: 前のページの状態でクエリを再開する方法がわかりません。これがループ内でクエリを実行し、その外側でページの状態を管理することを含むかどうかはわかりません。ページの状態を取得および設定する方法は理解していますが、すべてのページングが完了すると、適切な停止条件がなければ、毎回新しいページの状態でクエリを反復する方法がわかりません。

私の最善の試み:

私はこれを正しく行っていますか、それともこれを達成するためのより良い方法はありますか?

0 投票する
1 に答える
493 参照

go - Cassandra に常に再接続する

Cassandra を使用する際のベスト プラクティスは、サービスの存続期間中は 1Clusterと 1Sessionを使用することであるとオンラインで読みました。

私の質問は次のとおりです。

  1. Cassandra サーバーがダウンした場合、Cassandra サーバーがオンラインに戻るまでクラスターやセッションが再接続を試行し続けるようにするにはどうすればよいですか?

  2. 再接続を試行するのは、クラスターのみ、セッションのみ、またはその両方ですか?

サービスにはgithub.com/gocql/gocqlを使用Goしています。

ドキュメントで次のスニペットを見たgocqlことがありますが、再試行回数が限られているようです。

以下のスニペットもオンラインで見つけましたが、このシナリオを処理するように設計されているようには見えません。

Cassandra サーバーがオンラインに戻るまで再接続を試行するには、上記のいずれかの方法で十分ですか? そうでない場合、このシナリオのベスト プラクティスは何ですか?