0
小さなスプリングクラウドストリームプロジェクト は、httpソースとjdbcシンク(それぞれ3つのインスタンス)を使用しています。推定負荷は10ヒット/秒です。RedisはSpring Cloud Streamの良いアイデアですか?私はKafkaまたはRabbitMQを使うべきですか?
私はredisを使用することを考えていましたが、それはより快適に感じましたが、最新のドキュメントではほとんどすべてのreferecesがkafkaとRabbitMQになっていますので、将来redisがサポートされないか、 redisを使用している問題です。
よろしく
RabbitMQのデフォルト設定では、公平なメッセージロスも可能です。私はこれを最近、実稼働環境で難しい方法として学びます。 RabbitMQでは、キューをtransactional = trueに設定する必要があります。これにより、パフォーマンスが250倍に低下します。また、プロデューサの確認と呼ばれる別のメカニズムがありますが、前回はSpring Cloud Streamでサポートされていないことを確認しました。この時点でカフカだけが行く方法のように思えます。 – odedia
@odedia 1回の送信に対してパブリッシャーの確認を使用することは、トランザクションを使用することとあまり変わりません。すべての確認を待つよりも、たくさんのメッセージを送信すると、実際には(パフォーマンスが向上します)、それから恩恵を受ける唯一のストリームアプリは、1つの入力から複数の出力を生成するスプリッターでしょう。 –