1

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

我们现在要迁移到 Couchbase,从开发的角度来看,我们希望将 spring-data 与 couchbase 一起使用,但我们的基础架构团队希望将 MOXI 保留在客户端计算机上,并且仅通过端口 11211 进行通信。似乎在配置Couchbase 客户端,这将不起作用,因为 MOXI 不代理 CouchbaseClient 类用于发现 Couchbase 集群的端口 8901(管理端口)。这是否意味着,如果我们保留当前的基础设施,Spring Data 就无法使用?

我对此并不陌生,并且已经阅读了 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 的服务器之一,除了我们的基础架构团队对这种配置感到不满之外,我没有其他问题。

4

1 回答 1

0

一旦你带着智能客户端搬到 Couchbase,moxi 就没有多大价值了。事实上,您将引入一个额外的网络跃点(客户端 -> moxi;moxi -> 集群)。

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

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

于 2015-03-09T11:53:27.727 回答