복붙노트

[REDIS] 레디 스 펍에 소비자를 경쟁 / 하위 지원?

REDIS

레디 스 펍에 소비자를 경쟁 / 하위 지원?

나는이 개 서비스가 있습니다. 둘 다 같은 채널에 가입 할 필요가있다.

2 개 개의 서비스는 부하 균형이다. 각 서비스는 여러 서버에서 실행됩니다.

그렇다면 나는 확실히 각 서비스의 한 인스턴스가 해당 채널의 메시지를 소비 할 수있다.

이 레디 스에서 지원됩니까?

감사

해결법

  1. ==============================

    1.Pubsub 그런 식으로 작동하지 않습니다 - 메시지가 연결된 모든 구독 클라이언트로 이동합니다. 그러나 채널이 목록에 업데이트 알림이되도록 그것을 설정할 수 있습니다. 그런 식으로 모든 클라이언트는 메시지를 얻을 것이다, 그러나 단 하나 LPOP와 목록에서 항목을 취할 수 있습니다.

    Pubsub 그런 식으로 작동하지 않습니다 - 메시지가 연결된 모든 구독 클라이언트로 이동합니다. 그러나 채널이 목록에 업데이트 알림이되도록 그것을 설정할 수 있습니다. 그런 식으로 모든 클라이언트는 메시지를 얻을 것이다, 그러나 단 하나 LPOP와 목록에서 항목을 취할 수 있습니다.

  2. ==============================

    2.또 다른 방법은 서비스 인스턴스에서 B * POP를 사용하는 것입니다. 당신은 당신이 그것에 LPUSH 때마다 * 목록에 대한 POP, 해당 클라이언트 중 하나가 데이터를 얻을 것이다 B를 실행하는 클라이언트의 많은,하지만 하나가있는 경우.

    또 다른 방법은 서비스 인스턴스에서 B * POP를 사용하는 것입니다. 당신은 당신이 그것에 LPUSH 때마다 * 목록에 대한 POP, 해당 클라이언트 중 하나가 데이터를 얻을 것이다 B를 실행하는 클라이언트의 많은,하지만 하나가있는 경우.

  3. from https://stackoverflow.com/questions/7196306/competing-consumer-on-redis-pub-sub-supported by cc-by-sa and MIT license