Spring 可以使用 moxi 客户端配置 Data-Couchbase 客户端吗?

Spring Data-Couchbase Client Configuration with moxi Client Possible?

我们 运行 客户端 MOXI 与我们的 Tomcat 服务器在同一台机器上,MOXI 当前与 3 台不同机器上的 membase 服务器集群通信。 java 客户端使用 spymemcached 通过数据端口 11211 与 MOXI 通信。

我们现在要迁移到 Couchbase,从开发的角度来看,我们想将 spring-data 与 couchbase 一起使用,但我们的基础架构团队希望将 MOXI 保留在客户端机器上,并且仅通过端口 11211。似乎在配置 Couchbase 客户端时,这将不起作用,因为 MOXI 不代理 CouchbaseClient class 用于发现 Couchbase 集群的端口 8901(管理端口)。这是否意味着,如果我们保留当前的基础架构,Spring 数据将关闭 table?

我是新手,已经阅读了 Couchbase 文档,但我想做的似乎是不可能的,但我想确认一下。目前,要配置 spring-data 我正在使用这个:

<couchbase:couchbase bucket="appsbucket" password="" host="localhost"/>
<couchbase:repositories base-package="com.pathto.myrepositories"/>

Localhost 是 MOXI 所在的地方 运行,但是 couchbase bean(CouchbaseClient 配置)所做的假设是 couchbase 管理端口在端口 8901 可用。当然,如果我不是 localhost将它指向其中一台托管 Couchbase 的服务器,除了我们的基础设施团队对这种配置感到不满之外,我没有其他问题。

一旦您使用智能客户端迁移到 Couchbase,moxi 就没有太大价值;事实上,您将引入一个额外的网络跃点(客户端 -> moxi;moxi -> 集群)。

您可以认为智能客户端在概念上具有 嵌入式 moxi - 因为智能客户端知道集群拓扑并知道与哪个节点通信以访问给定的文件.

我建议您查看 Couchbase 管理指南中的 Deployment strategies 部分,其中更详细地解释了所有这些内容。