2017-02-13 4 views
1

우리는 약 6 개의 해시를 저장하는 단일 redis 인스턴스를 가지고 있습니다. 각 해시에는 각 (비즈니스 개체) 약 500-700 개의 키가 들어 있습니다. 마스터 슬레이브 아키텍처를 설정할 계획입니다. 마스터 슬레이브 아키텍처는 2 개의 슬레이브가있는 단일 마스터 인스턴스를 가질 수 있으며 로빈 읽기 요청을 노예로 돌리고 싶습니다. 나는 이것을하기위한 방법을 찾고 있었지만, 지금까지는 그것을하는 방법을 이해할 수 없었습니다. Jedis를 Redis 클라이언트로 사용합니다. 로빈 읽기 요청을 노예로 돌릴 수 있습니까? (물론, 데이터가 노예에서 일관성이없는 시간대가있을 수 있습니다. 희생하려고합니다.)Redis 슬레이브에 대한 라운드 로빈 읽기 요청

도움이 크게 될 것입니다. 고맙습니다.

EDIT : 이것은 분산 아키텍처를 설정하려는 첫 번째 작업입니다. 그래서 내가 말하는 것이 무식한 것처럼 보이면 나와 함께 견뎌주십시오.

+0

슬레이브를 임의로 클라이언트 측으로 선택할 수 있습니까? –

+0

지금 당장은 슬레이브 인스턴스의 수가 제한 될 것이므로 확실하게 할 수 있습니다. 사실 그것은 내가 지금 사용할 방법입니다. 그러나, 만약 내가 6-7 명의 슬레이브 인스턴스를 가지고 있다면? 그러면 각각의 인스턴스에 대해 연결 풀과 시간 제한을 유지해야합니까? – Ankush92

답변

0

클라이언트 측에서 관리가 어려울 수 있습니다.

  • HAproxy와 같은 부하 분산 장치를 사용하여 관리하면 단일 실패 지점이 발생할 수 있으므로주의하십시오.
  • 당신은 AWS에 있다면 당신은 당신이 라운드 로빈 DNS를 사용할 수
  • 당신이 결정하는 경우

(당신 때문에 DNS 캐시의 균형을 충분히 클라이언트 노드를 가정) ELB를 사용할 수 있습니다 클라이언트쪽에는 서비스 위치 문제를 해결하는 데 도움이되는 도구가 많이 있습니다.

+0

답변 해 주셔서 감사합니다. 나는 다만 생각해 본다, 이것에 관하여 제일 연습은 무엇인가? 내 말은, 나는 구글을 수색했는데, 이것에 대한 최고/표준 접근법에 대한 합의가없는 것 같다. – Ankush92

+0

HaProxy가 Redis 프로토콜을 지원한다는 사실을 알지 못했습니다. 그러나 다시 한 번 TCP를 사용하여 HaProxy와 연결해야합니다. 이것은 내가 생각하는 최선의 방법 일 것입니다. – Ankush92