次に、本番環境で必要なアプリケーションのスケーラビリティに起因する、問題のマイクロサービスアーキテクチャについて説明します。 Task1とTask2は最近新しい機能/パラメーターが追加され、開発ではスケールが異なるため、開発目的でもこれは非常に重要です。
これはまさに、ストリーム処理プラットフォームがうまく機能していることです。この問題には、ApacheKafkaやApachePulsarなどのシステムを使用することをお勧めします。
Task1とTask2には少なくとも2つの異なるサービスが必要であり、実際の反復/シミュレーション状態制御には1つでもある必要がありますか?
Task1とTask2は、いわゆるストリームプロセッサです。 、彼らは1つのトピックを読みます(購読します) 、いくつかの操作/変換を実行し、別のトピックに書き込み(公開)します 。
ここでの主な質問は、おそらく通信/ネットワークのボトルネックによるマイクロサービスアーキテクチャの議論は何ですか?これを高速化する唯一の方法は、ネットワークのボトルネックを回避するために、シミュレーションタスクに必要なすべてのデータをメモリに生成し、そのデータを常に保持することです。
繰り返しますが、これはまさにApacheKafkaやApachePulsarのようなシステムがうまく機能しているという問題です。 スケール ストリーム処理システムで書き込みと読み取りを行う場合は、パーティションを使用できます。 トピック 。