是否可以使用spring-boot 2.1.x(带有spring-data-cassandra 2. *)连接到两个不同的集群?
如果可能,如何将存储库(或模板,或CRUDRepository)绑定到集群之一?
我可以针对两个集群使用相同的模板(并可能从中创建两个bean吗?假设我想将数据存储在TTL较短的“热”群集中,并且也将数据存储在TTL较长的“冷”群集中(组成示例,因此请不要批评实际用例;))
看看AbstractRoutingSessionFactory
。您可以使用此基类,例如根据以下内容构建自己的Session
路由器。 ThreadLocal
储存。棘手的是要知道何时在会话之间进行切换。
您还可以通过实现由断路器或将SessionFactory
呼叫路由到的设置控制的自己的Session
来概括该概念。所有这些透明地发生。只需确保配置您自己的CassandraTemplate
bean即可使用SessionFactory
,因为Spring Boot默认为单个Session
。
存储库在CassandraTemplate
bean上运行。