システムの加入者数とチャネル数に応じてスループットを直線的に調整する必要がある巨大な分散システムを設計した方が良いでしょうか?Redis Cluster vs Pub/SubのZeroMQと水平方向の分散システム
1)Redis Cluster(Redis 3.0 alphaの場合、クラスタモードの場合は1つのノードで公開し、別の全く別のノードで購読でき、メッセージは伝播して相手に届きます)。 Publishの複雑さは、O(N + M)です(Nはサブスクライブされたクライアントの数、Mはシステム内のサブスクライブされたパターンの数ですが、Redis Clusterの場合はどのように拡張されますか?私はこれについて教育的な推測を受け入れる。
2)ZeroMQ 3.x以降、サーバー側のフィルタリングが行われるため、時間的な複雑さもありますが、ドキュメントでは何も見ていません。規模を拡大したい場合は、どのチャネルにでも多数のサーバーを公開し、各サブスクライバはすべてのサーバーに接続し、目的のチャネルにサブスクライブします。それはいいようです。
だから、どれが巨大な出版社システムの水平スケーリングに適していますか?私が調べなければならない他の解決策は何ですか?レイテンシとスループットは最小限に抑えたいが、水平方向に拡大することができます。
あなたの主張を裏付けるデータはありますか?あなたの主張に関する私の質問を読むことができますか? http://stackoverflow.com/questions/26319304/redis-of-channels-degrading-latency-how-to-prevent-degradation – ealeon