2016-09-09 1 views
0

小さなスプリングクラウドストリームプロジェクト は、httpソースとjdbcシンク(それぞれ3つのインスタンス)を使用しています。推定負荷は10ヒット/秒です。RedisはSpring Cloud Streamの良いアイデアですか?私はKafkaまたはRabbitMQを使うべきですか?

私はredisを使用することを考えていましたが、それはより快適に感じましたが、最新のドキュメントではほとんどすべてのreferecesがkafkaとRabbitMQになっていますので、将来redisがサポートされないか、 redisを使用している問題です。

よろしく

答えて

1

Redisのは、春のクラウドストリームで生産することはお勧めしません - バインダーが完全に機能していないと、メッセージの損失が可能です。

+0

RabbitMQのデフォルト設定では、公平なメッセージロスも可能です。私はこれを最近、実稼働環境で難しい方法として学びます。 RabbitMQでは、キューをtransactional = trueに設定する必要があります。これにより、パフォーマンスが250倍に低下します。また、プロデューサの確認と呼ばれる別のメカニズムがありますが、前回はSpring Cloud Streamでサポートされていないことを確認しました。この時点でカフカだけが行く方法のように思えます。 – odedia

+0

@odedia 1回の送信に対してパブリッシャーの確認を使用することは、トランザクションを使用することとあまり変わりません。すべての確認を待つよりも、たくさんのメッセージを送信すると、実際には(パフォーマンスが向上します)、それから恩恵を受ける唯一のストリームアプリは、1つの入力から複数の出力を生成するスプリッターでしょう。 –

関連する問題