gpt4 book ai didi

javascript - 当新的 couchbase Node 添加到集群时,是否需要更改应用程序?

转载 作者:行者123 更新时间:2023-12-03 10:10:27 25 4
gpt4 key购买 nike

我正在使用 Node.js SDK 连接到 couchbase 集群。在 Node.js 文档中,他们没有指定如何在创建集群对象时传递(集群 Node 的)多个 ip,但 java 文档显示它可以接受 IP 数组,Node.js SDK 中也提供此功能吗?

此外,如果这是连接到具有许多 Node 的集群的方式,那么每当我们向集群添加新 Node 时,是否需要将其 IP 添加到连接字符串并重新启动应用程序?

PS 我是 Couchbase 和 Node.js 的新手,所以请耐心等待

最佳答案

最佳实践是在连接字符串中放置尽可能多的 Node ,以便在其中一个 Node 不可用的情况下,客户端仍然能够最初进行连接。

但是要回答您原来的问题,,不需要更改/重新启动应用程序。。客户端只需要知道集群中的一个单个 Node ,然后连接到该 Node 并发现所有其他 Node 。

当您考虑客户端如何实际连接到集群时,这两个概念都有意义。

使用单个 Node

  1. 客户端连接到 10.4.4.1
  2. 客户端从10.4.4.1请求“Cluster Map”。集群映射包含有关集群本身的信息,包括属于集群的所有 Node 列表
  3. 客户端连接到集群映射中的所有其他 Node (这意味着 10.4.4.2、10.4.4.3 等)

由于 Couchbase 是一个分布式系统,其中所有 Node 都了解所有其他 Node (因此,您可以登录到任何 Node 的管理控制台来管理集群),应用程序只需要了解一个初始 Node ,连接到该 Node 将通知它们有关所有其他 Node 的信息。

传递多个 Node

假设您从集群中删除了一个 Node 10.4.4.1,因此您的集群只有 10.4.4.210.4.4.3。由于您的应用程序配置为仅连接到 10.4.4.1,因此您需要立即重新配置代码以连接到另一个 Node ,因为到 10.4.4.1 的连接将会失败。由于 10.4.4.1 不再是集群的一部分,因此它将无法提供有关其他 Node 的信息。

如果您已将所有 Node 传递给集群,客户端确实会尝试仍然连接到10.4.4.1,但是一旦客户端连接失败,它将继续尝试下一个 Node (10.4.4.2) 并成功获取新配置。

如果您添加了另一个 Node ,那么什么都不会失败 - 当然,建议您最终更新应用程序上的 Node 列表,但这不是严格要求。

关于javascript - 当新的 couchbase Node 添加到集群时,是否需要更改应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30137816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com