가장 가까운 RMI 서버로 라우팅하는 방법은 무엇입니까?
-
05-07-2019 - |
문제
내 질문에 계속 클라이언트 서버 아키텍처 응용 프로그램의 성능을 향상시키는 방법
중앙 집중식 데이터베이스와 여러 슬레이브 서버-데이터베이스 구성을 유지하기로 결정했습니다. 나는 사용할 계획이다 대칭 DS 슬레이브와 마스터 데이터베이스 사이를 복제합니다. 각 서버-사장 구성은 클라이언트에 더 가깝게 설치됩니다. 이상적으로는 명백한 이유 때문에 클라이언트의 가장 가까운 슬레이브 서버-가사베이스로의 요청을 원합니다. RMI를 사용하여 서버에 연결하기 때문에 현재 사용 가능한 제품/API가 있는지 알고 싶습니다.
위의 다른 솔루션 이외의 다른 솔루션은 높이 평가됩니다 :)
참고 : 클라이언트 코드를 리팩토링하는 것은 확실히 하나의 대안이지만 응용 프로그램은 매우 거대하기 때문에 큰 위험 (기존 코드를 위반할 수 있음), 시간이 걸리고 비싸다.
해결책
분산 및 일관된 해싱을 살펴보십시오.
http://en.wikipedia.org/wiki/distributed_hash_table#keyspace_partitioning http://en.wikipedia.org/wiki/consistent_hashing
Barebones, 당신은 클라이언트의 식별자를 가져 와서 ( '키'대신) 가장 가까운 서버를 찾을 수있는 일관된 해싱의 변형을 설정합니다. 보너스 혜택은 노예 중 하나가 다운되면 인프라가 다음 가장 가까운 서버로 투명하게 경로를 향한 것입니다.
제휴하지 않습니다 StackOverflow