6

このリンクには、「現在の実装では、すべての公開メッセージを他のすべてのノードにブロードキャストするだけです」と記載されており、将来的に改善されると付け加えています。

現在の実装の場合:メッセージを失うことが重要でない場合。今のところ、pub / subにredisを使用するのは理にかなっていますか?ブロードキャストトラフィックを停止するには、1つのインスタンスの方が適しているようです。書き込みの横にあるので; 読み取りは他のノードにも伝播する必要があります。(クライアントに2回通知されないようにします。)

私は何かが足りないのですか?

4

1 に答える 1

6

いいえ、あなたがポイントを逃したとは思いません。Redis Clusterは進行中の作業であり、これには仕様が含まれます。pub / subに関するセクションはかなり軽く、おそらく改善される可能性があります。

Salvatoreの提案では、クライアントは(すべてではなく)単一のインスタンスでサブスクライブされるため、パブリケーションがすべてのインスタンスにブロードキャストされると、クライアントには1回だけ通知されます。Redisインスタンスがダウンしている場合、クラスターの存続しているノードの1つ(その他)でサブスクライブするのはクライアントの責任です。

もう1つの可能性は、クラスターの1つのノードを一意のpub / subノードとして選択して、クライアントがこのノードでのみパブリッシュおよびサブスクライブできるようにすることです。ただし、pub / subサービスの高可用性は、この方法でサポートするのがより困難になります。

于 2012-10-01T15:00:51.453 に答える