[REDIS] 연결에 ElastiCache 클러스터를 통해 Node.js를
REDIS연결에 ElastiCache 클러스터를 통해 Node.js를
나는 Node.js.를 통해 AWS의 ElastiCache 레디 스에 연결하는 방법에 혼동 해요 나는 성공적으로이 NPM을 node_redis를 통해 기본 호스트 (001)에 연결하기 위해 관리했습니다,하지만 난 분명히 ElastiCache 클러스터 명령을 구현하지 않기 때문에 ioredis의 클러스터링 기능을 사용할 수 없습니다입니다.
나는 다른 방법이있을 것으로 생각하지만, 노드에 대한 AWS SDK는뿐만 아니라 실제로 연결을 위해, ElastiCache를 관리하기위한 명령이 있습니다.
CLUSTER를 사용하지 않고, 나는 마스터 노드가 실패 할 경우 내가 다른 클러스터로 다시 떨어질 수 없기 때문에 내 애플, 장애 조치 할 수 없습니다 우려하고있다. 또한, 내 레디 스 클라이언트에서 오류가 발생할 오류 : READONLY 당신은 노예 읽기에 쓸 수 없습니다. 마스터는 내가 적절하게 처리하는 방법을 잘 모르겠어요있는 전환 할 때.
나는이 지나친 건가요? 나는 Node.js.와 ElastiCache 레디 스 클러스터를 사용하는 방법에 대한 약간의 정보를 찾는하고
해결법
-
==============================
1.나는 이것을 지나친했다.
나는 이것을 지나친했다.
용액을 클라이언트 측에서 임의의 클러스터링을 사용하지 않고, 오직 기본 마스터 노드에 연결한다. 마스터가 실패하면, 슬레이브는 승진하고 DNS는 슬레이브가 클라이언트 측에서 변경 할 필요 호스트하지 않고, 기본 노드 지도록 업데이트됩니다.
장애 조치가 발생하면 일시적인 연결 오류를 방지하기 위해, 당신은 ioredis 몇 가지 설정을 추가 할 수 있습니다 :
var client = new Redis(port, host, { retryStrategy: function (times) { log.warn('Lost Redis connection, reattempting'); return Math.min(times * 2, 2000); }, reconnectOnError: function (err) { if (err.message.slice(0, targetError.length) === 'READONLY') { // When a slave is promoted, we might get temporary errors saying // READONLY You can't write against a read only slave. Attempt to // reconnect if this happens. log.warn('ElastiCache returned a READONLY error, reconnecting'); return 2; // `1` means reconnect, `2` means reconnect and resend // the failed command } } });
from https://stackoverflow.com/questions/35027777/connect-to-elasticache-cluster-via-node-js by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] Laravel - 지우기 모든 캐시 / 특정 문자열이 포함 된 키를 레디 스 (0) | 2020.01.20 |
---|---|
[REDIS] ActionCable : 사용자 당 하나 개의 채널 (0) | 2020.01.20 |
[REDIS] 레디 스에서 유니 코드를 저장하지만, 가져 오기 오류 (0) | 2020.01.20 |
[REDIS] 의 이유가 무엇 일 수 레일 ActionCable에서 "식별자 구독을 찾을 수 없습니다"? (0) | 2020.01.19 |
[REDIS] 레디 스 게시 사용하는 방법 / 가입 (0) | 2020.01.19 |