第 72 章 Cassandra CQL 组件

作为 Camel 版本 2.15 可用

Apache Cassandra 是一个开源 NoSQL 数据库,旨在处理商用硬件上的大量内容。与 Amazon 的 DynamoDB 一样,Cassandra 具有对等的、无 master 的架构,以避免出现单一故障点和 garanty 高可用性。与 Google 的 BigTable 一样,Cassandra 数据采用列系列的结构,这些数据可通过 Thrift RPC API 或称为 CQL 的 SQL 类似的 API 进行访问。

此组件旨在使用 CQL3 API(而不是 Thrift API)集成 Cassandra 2.0+。它基于 DataStax 提供的 Cassandra Java Driver

Maven 用户需要将以下依赖项添加到其 pom.xml 中:

pom.xml

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-cassandraql</artifactId>
    <version>x.y.z</version>
    <!-- use the same version as your Camel core version -->
</dependency>

72.1. 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 选项、池选项、负载均衡策略、重试策略、reconnection policy…​),请创建自己的 Cluster 实例并将其提供给 Camel 端点。