2016-10-11 13 views
1

クラウドファウンドリにデプロイされたマイクロサービス用のメッセージングメカニズムとして、JMSは推奨されていませんか?もしそうなら、あなたはそれがなぜではないかについて詳しく述べることができますか?クラウドファウンドリでのJMSメッセージ

答えて

1

標準的な回答:Cloud Foundryは、アプリケーションの通信方法について意見はありません。

メッセージブローカーを使用するのではなく、RESTfulなポイントツーポイント通信を使用する理由はたくさんあります。検討する価値のあるものの1つは、Cloud Foundryで実行するアプリケーションが一時的なものになり、いつでも終了して再作成できることです。

メッセージングキューテクノロジは、分散環境では物理的には不可能な「正確に一度」のセマンティクスに関することを前提にして使用される傾向があります。分散トランザクションは、分散環境でも扱いにくくなります。ネットワークホップが増えると、システムの不確実性が増し、障害が発生する可能性が高くなります。

この問題に関してもっと多くのことが言えますが、クラウドネイティブアプリではJMSと呼ばれることはよくありません。なぜなら、これらの技術は、クラウドには適していないデザインパターンに関連付けられることが多いからですそれを本質的にそうするものは何もありません。

+0

ありがとう@EngineerBetter。しかし、私はPCF市場にrabbitmqが組み込まれているのを見ているし、CFで展開されているアプリもKafkaを使っているのを見ている。あなたはこれらについても言及したことは当てはまりませんか?クラウドネイティブアプリケーション用にJMSからAMQPへ移行するメリットはありますか? –

+0

Pivotal doはRabbitMQを提供しています(私は短期間この提案に取り組んでいました)、そして摂取にKafkaを使用するのが一般的なパターンです。カフカをマイクロサービス間の通信に使用することは、私があまり頻繁に見ていないことです。人々がそれを求めているので、RabbitMQのサポートはそこにあると主張することができます。 これは広いトピックです。個人的に私はメッセージブローカーの一時的なデカップリングが気に入っています。Netflix実装の複雑な配置ではなく、ほとんどの人がメッセージブローカーから離れていくと思います。 –

+0

ありがとう@EngineerBetter! –

関連する問題