1

クラウド ファウンドリー用のアプリケーションを設計しています。

アプリケーションをそのサービスの「継ぎ目」で異なるプロセスに分割すること、つまり各サービスを (おそらく複数の) 異なるプロセスで実行することはベスト プラクティスですか?

もしそうなら、それらのプロセス間で通信する最良の方法は何ですか? MQ サービスを介して削除しますか? 特定のサービスのアップグレード (Java API が壊れる可能性があります) にどのように耐えられますか?

そうでない場合、すべての DEA ですべてのサービスを実行する必要があるということですか? オーバーヘッドは壊滅的ではありませんか?

4

2 に答える 2

1

私は Java の専門家ではありませんが、RabbitMQ や Resque など、アプリケーションの異なるインスタンス間の通信には、ある種のメッセージ キューイングが最適です。

DEA はアプリケーションのインスタンスを実行する責任があり、サービスの実行方法には影響しません。

于 2012-09-04T14:15:12.817 に答える
1

Cloud Foundry Developer Advocates の 1 人が作成したこのデッキが役立つ場合があります。

Dan が言及しているように、RabbitMQ は、インスタンスとアプリケーションの一部の間で通信する必要性に対する明らかなソリューションであり、Cloud Foundry サービス スタックの一部として「無料」で提供されます。これは、他のプロトコルが決して適切ではないという意味ではありませんが、メッセージング レイヤーのようなものは、水平方向のスケールアウトをより簡単に有効にすることで、スケーラビリティを向上させることができます。

于 2012-09-05T15:13:35.790 に答える