我正在使用Couchbase,特别是使用.NET客户端。我们不确定是否需要为Couchbase添加负载均衡器。我知道我们不需要实际平衡节点,但我不确定是否需要一个允许动态添加服务器。
考虑以下.NET Couchbase配置:
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="couchbase" type="Couchbase.Configuration.CouchbaseClientSection, Couchbase"/>
</configSections>
<couchbase>
<servers bucket="default" bucketPassword="">
<add uri="http://192.168.0.2:8091/pools"/>
<add uri="http://192.168.0.3:8091/pools"/>
</servers>
</couchbase>
</configuration>
现在说我们在群集中添加另一台服务器,位于:
192.168.0.4:8091
如果已经使用具有两个服务器的配置部署了应用程序,它是否能够利用新添加的服务器?或者所有客户端配置都需要添加一个元素,如:
<add uri="http://192.168.0.4:8091/pools"/>
我们的想法是,如果需要更新所有配置,我们可以将所有客户端指向负载均衡器,并将新服务器添加到负载均衡器。
答案 0 :(得分:2)
如果你看看Couchbase上的这篇建筑白皮书(pdf),它会说:
要与Couchbase Server交谈,应用程序使用各种语言的memcached兼容智能客户端SDK 包括Java,.NET,PHP,Python,Ruby,C和C ++。这些客户端可识别群集拓扑并获取更新 集群地图。它们会自动将请求从应用程序发送到相应的服务器。
http://info.couchbase.com/couchbase-server-architecture-review.html
如果您不想下载pdf,也会在文档中提及。 http://docs.couchbase.com/couchbase-manual-2.2/#rebalancing
答案 1 :(得分:1)
Couchbase建议将所有群集节点都放在应用程序的连接配置中。尽管如此,它并不是真正需要的 - 集群映射将从应用程序配置中的服务器更新。
丹尼尔