Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.第20章 Cassandra
Camel Cassandra コンポーネント リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Camel 2.15 以降で利用可能
Apache Cassandra は、コモディティーハードウェア上で大量のデータを処理するように設計されたオープンソースの NoSQL データベースです。Amazon の DynamoDB と同様に、Cassandra にはピアツーピアおよびマスターなしのアーキテクチャーがあり、単一障害点を回避し、高可用性を確保します。Google の BigTable と同様に、CQL と呼ばれる SQL のような API からアクセス可能な列ファミリーを使用して Cassandra データを構築します。
このコンポーネントは、(Trift API ではなく) CQL3 API を使用して Cassandra 2.0+ を統合することを目指しています。これは、DataStax が提供する Cassandra Java Driver に基づいています。
Maven ユーザーは、以下の依存関係を
pom.xml
に追加する必要があります。
URI 形式 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
エンドポイントは Cassandra 接続を開始するか、既存の接続を使用できます。
URI | 説明 |
---|---|
cql:localhost/keyspace
|
単一のホスト、デフォルトポート(通常はテスト用) |
cql:host1,host2/keyspace
|
マルチホスト、デフォルトポート |
cql:host1,host2:9042/keyspace
|
マルチホスト、カスタムポート |
cql:host1,host2
|
デフォルトのポートおよびキースペース |
cql:bean:sessionRef
|
提供されるセッション参照 |
cql:bean:clusterRef/keyspace
|
提供されるクラスター参照 |
Cassandra 接続(SSL オプション、プーリングオプション、負荷分散ポリシー、再試行ポリシー、再接続ポリシー)を微調整するには、独自のクラスターインスタンスを作成し、Camel エンドポイントに指定します。
エンドポイントオプション リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
オプション | デフォルト | 説明 |
---|---|---|
clusterName
|
Cluster name
|
|
username and password
|
セッション認証
|
|
cql
|
CQL クエリー。メッセージヘッダーで上書きできます。
|
|
consistencyLevel
|
ANY , ONE , TWO , QUORUM , LOCAL_QUORUM ...
|
|
prepareStatements
|
true
|
準備済みステートメント(デフォルト)を使用する(デフォルト)かどうか |
resultSetConversionStrategy
|
ALL
|
ResultSet がメッセージボディーに変換および変換する方法
ALL 、ONE 、LIMIT_10 、および LIMIT_100 ...
|
メッセージ リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
受信メッセージ リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Camel Cassandra エンドポイントは、クエリーパラメーターとして CQL ステートメントにバインドされる単純なオブジェクト(
Object
または Object[]
または Collection<Object>
)があることを想定しています。メッセージボディーが null または空の場合、CQL クエリーはバインディングパラメーターなしで実行されます。
ヘッダー:
CamelCqlQuery
(オプション、String
): プレーンな文字列として、またはRegularStatement
を使用してビルドした CQL クエリー。QueryBuilder
送信メッセージ リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Camel Cassandra エンドポイントは、
resultSetConversionStrategy
に応じて 1 つまたは複数の Cassandra Row オブジェクトを生成します。
List<Row>
resultSetConversionStrategy
がALL
または の場合LIMIT_[0-9]+
- single
Row
ifresultSetConversionStrategy
ONE
resultSetConversionStrategy
がカスタム実装である場合、それ以外ResultSetConversionStrategy
リポジトリー リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Cassandra は、べき等性と集約 EIP のメッセージキーまたはメッセージを格納するために使用できます。
Cassandra はキューイングのユースケースに最適なツールではない場合があります。Cassandra のアンチパターンのキューとデータセットなどのキューをお読みください。これらのテーブルには LeveledCompaction および小さい GC grace 設定を使用し、廃棄した行をすぐに削除できるようにすることが推奨されます。
Idempotent リポジトリー リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
NamedCassandraIdempotentRepository
は、以下のような Cassandra テーブルにメッセージキーを保存します。
このリポジトリーの実装では、軽量のトランザクション(比較およびセットとも呼ばれます)を使用し、Cassandra 2.0.7+ が必要です。
または、
CassandraIdempotentRepository
には NAME
列がなく、別のデータモデルを使用するように拡張することもできます。
オプション | デフォルト | 説明 |
---|---|---|
table
|
CAMEL_IDEMPOTENT
|
テーブル名 |
pkColumns
|
NAME , KEY
|
プライマリーキー列 |
name
|
Repository name, value used for NAME column (リポジトリー名、列に使用される値)
|
|
ttl
|
キーの有効期間 | |
writeConsistencyLevel
|
キーの挿入/削除に使用する一貫性レベル: ANY , ONE , TWO , QUORUM , ----------|-----… LOCAL_QUORUM
|
|
readConsistencyLevel
|
キーの読み取り/チェックに使用する一貫性レベル: ONE , TWO , QUORUM , LOCAL_QUORUM …
|
集約リポジトリー リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
NamedCassandraAggregationRepository
は、以下のように相関キーでエクスチェンジを Cassandra テーブルに保存します。
または、
CassandraAggregationRepository
には NAME
列がなく、別のデータモデルを使用するように拡張することもできます。
オプション | デフォルト | 説明 |
---|---|---|
table
|
CAMEL_AGGREGATION
|
テーブル名 |
pkColumns
|
NAME ,KEY
|
プライマリーキー列 |
exchangeIdColumn
|
EXCHANGE_ID
|
エクスチェンジ ID 列 |
exchangeColumn
|
EXCHANGE
|
コンテンツ列の交換 |
name
|
Repository name, value used for NAME column (リポジトリー名、列に使用される値)
|
|
ttl
|
存続時間の交換 | |
writeConsistencyLevel
|
交換の挿入/削除に使用する一貫性レベル: ANY , ONE , TWO , QUORUM , ----------|-----… LOCAL_QUORUM
|
|
readConsistencyLevel
|
交換の読み取り/チェックに使用する一貫性レベル: ONE , TWO , QUORUM , LOCAL_QUORUM …
|