Redis가 지원하는 PUB/SUB 시스템을 구축 중입니다.redis가있는 복구 가능한 PUB/SUB
게시자와 구독자가 1 명 있습니다. 가입자는 믿을만한 것이 아니며 언제든지 연결을 끊을 수 있으며 연결이 끊어진 상태에서 "복구"할 수 있어야합니다.
트위스트가 있지만 일부 수의 출하가 부족한 구독자가 까지 N 메시지까지 만 복구 할 수 있어야합니다.
사소한 해결책이다
- 출판사 메시지 X
- X는
RPUSH list message
- 메시지가
- 메시지는 소비자에게 발행되는리스트의 인덱스를 포함하는 부호화 된 목록에 푸시 발행 (색인 포함)
PUBLISH channel encoded
소비자가 DS는 다시 설정합니다 :
- 는 그것이 가지고있는 인덱스 다음의 목록에있는 모든 값에 대한 레디 스를 요청하고
PSUBSCRIBE
이 원자
여기까지 우리 모두가 좋은 실행합니다.
내 큰 질문은, N 항목에 백 로그 목록을 넣으려면 어떻게해야합니까?
계속 증가하는 색인을 유지하고 목록에 출장 된 백 로그를 유지할 수있는 방법이 있습니까?
예,이 솔루션을 많이 사용합니다. –
이것을 구현했는데, https://gist.github.com/4385544 시계를 사용하지 않았고 멀티가 완전히 맞습니다. –