微服务架构之Spring Boot(五十)

2022-05-23 15:36:20 浏览数 (1)

31.7 Cassandra

Cassandra是一个开源的分布式数据库管理系统,旨在处理许多商用服务器上的大量数据。Spring Boot提供Cassandra的自动配置以及Spring

数据Cassandra提供的摘要。有一个 spring-boot-starter-data-cassandra “Starter”用于以方便的方式收集依赖项。

31.7.1连接到Cassandra

您可以像对待任何其他Spring Bean一样注入自动配置的 CassandraTemplate 或Cassandra Session 实例。spring.data.cassandra.* 属性

可用于自定义连接。通常,您提供 keyspace-name 和 contact-points 属性,如以下示例所示:

spring.data.cassandra.keyspace-name=mykeyspace

spring.data.cassandra.contact-points=cassandrahost1,cassandrahost2

您还可以注册实现 ClusterBuilderCustomizer 的任意数量的beans以进行更高级的自定义。

以下代码清单显示了如何注入Cassandra bean:

@Component

public class MyBean {

private CassandraTemplate template;

@Autowired

public MyBean(CassandraTemplate template) {

this.template = template;

}

// ...

}

如果您添加 CassandraTemplate 类型的 @Bean ,它将替换默认值。

31.7.2 Spring数据Cassandra存储库

Spring数据包括Cassandra的基本存储库支持。目前,这比前面讨论的JPA存储库更有限,需要使用 @Query 来注释finder方法。

31.8 Couchbase

Couchbase是一个开源的,分布式的,多模型的NoSQL面向文档的数据库,针对交互式应用程序进行了优化。Spring Boot提供了Couchbase

的自动配置以及Spring Data Couchbase提供的抽象 。有 spring-boot-starter-data-couchbase

和 spring-boot-starter-data-couchbase-reactive “Starters”用于以方便的方式收集依赖项。

31.8.1连接Couchbase

您可以通过添加Couchbase SDK和一些配置来获得 Bucket 和 Cluster 。spring.couchbase.* 属性可用于自定义连接。通常,您提供引导主

机,存储桶名称和密码,如以下示例所示:

spring.couchbase.bootstrap-hosts=my-host-1,192.168.1.123

spring.couchbase.bucket.name=my-bucket

spring.couchbase.bucket.password=secret

您需要至少提供引导主机,在这种情况下,存储桶名称为 default ,密码为空字符串。或者,您可以定义自己

的 org.springframework.data.couchbase.config.CouchbaseConfigurer @Bean 来控制整个配置。

也可以自定义一些 CouchbaseEnvironment 设置。例如,以下配置更改用于打开新 Bucket 的超时并启用SSL支持:

spring.couchbase.env.timeouts.connect=3000

spring.couchbase.env.ssl.key-store=/location/of/keystore.jks

spring.couchbase.env.ssl.key-store-password=secret

查看 spring.couchbase.env.* 属性以获取更多详细信息。

0 人点赞