2017-12-27 20 views
1

사용할 수없는 서버를 검색, 하나는 사용할 수없는 노드의 주소를 얻을 수 있습니다 :카우치베이스 주식회사 클러스터 - 자바 SDK1에서 자바 SDK2

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

자바 SDK2에 상응하는 무엇입니까?

+0

사용 사례를 좀 더 설명하는 것이 좋습니다. 당신이하려고하는 것이 무엇이든 어떻게 할 것인지에 대한 나의 대답을 늘릴 수있게 해 줄 것입니다. –

+0

@MattIngenthron 제 유스 케이스는 간단합니다 : 나는 sdk1 -> sdk2 (2.4.8)에서 업그레이드하는 중입니다. 위에서 언급 한 API 호출은 단순히보고에 사용되며 교체가 있는지 궁금합니다. bucketManager(). info(). raw()'에서 통찰력을 얻을 수 있습니까? –

+0

당신이보고 할 때, 당신은 많은 클라이언트가 볼 수있는 것을 합산하거나 하나의 클라이언트 관점 만 사용한다는 것을 의미합니까? 이전 버전 인 경우 상태 확인은 정확히 필요한 것이며 현재 버전의 검사입니다. 아마도 당신이 제안한 것처럼 양동이 정보를 보는 것 외에 다른 클라이언트로부터 모니터링하는 것을 추천 할 수 없습니다. –

답변

3

SDK의 목표는 다양한 서비스의 세부 사항을 추상화 한 것이므로 의도적으로 2.0 SDK에 포함시키지 않았습니다. 노드는 더 많은 서비스를 가지며 단순한 '서버'가 아닙니다.

즉, 개발중인 '건강 검진'sdk-rfc에 곧 몇 가지 기능을 추가하여 사용자의 의견을 기다리고 있습니다. 한 API에서 클러스터 수준에서 데이터가 어떻게 전달되는지에 대한 정보를 얻을 수 있고 다른 API에서 어떤 일이 일어나고 있는지를 '핑 (ping)'하여 적극적으로 확인할 수 있다는 아이디어가 있습니다. 개발 상태는 Couchbase's JIRA입니다.

cluster.healthCheck() 아래의 2.5.0 ~ 2.5.3에서 실험적으로 사용할 수 있지만 메서드 이름은 sdk-rfc 당 diagnostics()으로 변경됩니다. 이 클라이언트 인스턴스의 클러스터에 대한 이해를 모니터링하려는 경우라면 지금까지는 가장 좋은 API 일 것입니다. 코드를 방어 적으로 코딩하여 나중에 healthCheck()를 diagnostics()로 대체 할 수 있습니다.