복붙노트

[REDIS] 레디 스는 구독을 공표 : IS 레디 스도 엄청난 스트레스를 받고 메시지를 전달하기 위해 보장?

REDIS

레디 스는 구독을 공표 : IS 레디 스도 엄청난 스트레스를 받고 메시지를 전달하기 위해 보장?

클라이언트 구독과 메시지가 연결을 유지 게시 서버 모두가 클라이언트 및 / 또는 서버가 대량으로 스트레스 레디 스도 상황에 따라, 항상 결국 가입 된 클라이언트에 게시 된 메시지를 전달하기 위해 보장되는 경우가 제공? 아니면 내가 일을 "핫"얻을로 레디 스가 ocasionally 메시지를 삭제할 수있는 가능성에 대한 계획을해야합니까?

해결법

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

    1.레디 스 절대적 게시 및 가입 트래픽에 대한 어떠한 보장 배달을 제공하지 않습니다. 이 메커니즘은 단지 소켓 및 이벤트 루프를 기반으로, (심지어 메모리에) 반군 큐가 없다. 간행물가 발생하면서 가입자가 수신되지 않을 경우, 이벤트는이 가입자 손실됩니다.

    레디 스 절대적 게시 및 가입 트래픽에 대한 어떠한 보장 배달을 제공하지 않습니다. 이 메커니즘은 단지 소켓 및 이벤트 루프를 기반으로, (심지어 메모리에) 반군 큐가 없다. 간행물가 발생하면서 가입자가 수신되지 않을 경우, 이벤트는이 가입자 손실됩니다.

    아니지만 게시 및 가입 API와, 레디 스의 상단에 약간의 전달이 보장 메커니즘을 구현하는 것이 가능하다. 레디 스의 목록 데이터 유형은 큐으로 사용하지 않으며, 더 고급 큐 시스템의 기초, 그러나 멀티 캐스트 기능을 제공하지 않는 (그래서 게시 및 가입) 할 수 있습니다.

    AFAIK 쉽게 레디 스과 동시에 보장 배달을 게시 및 가입 구현하는 명백한 방법이 없습니다.

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

    2.레디 스는 펍 / 하위 메커니즘을 사용하여 보장 배달을 제공하지 않습니다. 가입자가 적극적으로 채널에서 수신되지 않은 경우 또한, 그것은 출판되었을 것입니다 메시지를받을 수 없습니다.

    레디 스는 펍 / 하위 메커니즘을 사용하여 보장 배달을 제공하지 않습니다. 가입자가 적극적으로 채널에서 수신되지 않은 경우 또한, 그것은 출판되었을 것입니다 메시지를받을 수 없습니다.

    나는 이전에 하나가 신뢰할 수있는 멀티 캐스트 술집 / 서브 전달을 구현하는 BLPOP와 함께 레디 스 목록을 사용하는 방법에 대해 설명하는 자세한 기사를 쓴 :

    http://blog.radiant3.ca/2013/01/03/reliable-delivery-message-queues-with-redis/

    기록을 위해, 여기에 높은 수준의 전략이다 :

    또한 이러한 원칙 가능한 오픈 소스의 자바 구현을 만들었습니다 : https://github.com/davidmarquis/redisq

    이러한 원칙은 하나의 레디 스 인스턴스에서 초당 1,000 메시지 및 소비자 응용 프로그램의 두 인스턴스, 5 개 스레드로 메시지를 소비하는 각 인스턴스에 대해 공정에 사용되어왔다.

  3. from https://stackoverflow.com/questions/23675394/redis-publish-subscribe-is-redis-guaranteed-to-deliver-the-message-even-under-m by cc-by-sa and MIT license