【问题标题】:Couchbase cluster - discover unavailable servers for Java SDK2Couchbase 集群 - 发现 Java SDK2 的不可用服务器
【发布时间】:2017-12-27 08:39:45
【问题描述】:

在Java SDK1中,可以获取不可用节点的地址:

CouchbaseClient couchbaseClient;
//...
Collection<SocketAddress> unAvailableServers = 
    couchbaseClient.getUnavailableServers();

Java SDK2 中的等价物是什么?

【问题讨论】:

  • 可能会更好地描述您的用例。让我补充一下如何做你想做的任何事情的答案。
  • @MattIngenthron 我的用例很简单:我正在从 sdk1 -> sdk2 (2.4.8) 升级。上面提到的 API 调用只是用于报告,我想知道是否有替代品。我可以从bucketManager().info().raw() 获得见解吗?
  • 当您说报告时,您的意思是您汇总了许多客户看到的内容,还是仅使用一位客户的观点?如果是前者,健康检查正是您所需要的,并且它的一个版本在当前客户端中。除了按照您的建议查看存储桶信息之外,我不建议从一个客户端进行监控。
  • 我所说的报告是指一个烟雾测试,它调用了上述 API 并记录了一条消息,例如“一些主机已关闭”Nothing critical 或 Cardinal。
  • 编辑了我的答案以反映实验性健康检查和即将到来的诊断是解决方案。

标签: java couchbase couchbase-java-api


【解决方案1】:

我们有意不将其包含在 2.0 SDK 中,因为 SDK 的目标是抽象出各种服务的细节。节点有更多的服务,而不仅仅是“服务器”。

也就是说,我们很快会在“健康检查”sdk-rfc 下添加一些功能,我们希望得到您的反馈。那里的想法是,您可以从一个 API 获取有关数据在集群级别如何流动的信息,并且可以“ping”以主动查看另一个 API 发生的情况。您可以在Couchbase's JIRA查看开发状态。

这在 2.5.0 到 2.5.3 中在 cluster.healthCheck() 下实验性地可用,尽管方法名称将根据 sdk-rfc 更改为 diagnostics()。如果您只是想监控此客户端实例对集群的理解,那可能是目前最好的 API。防御性代码,以便您以后可以将 healthCheck() 替换为 diagnostics()。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-18
    • 2016-02-22
    • 1970-01-01
    • 2018-04-15
    • 1970-01-01
    • 1970-01-01
    • 2020-07-28
    相关资源
    最近更新 更多