2016-08-09 7 views
1

私は、Akka.NETの助けを借りて、分散処理機能を備えた一連のマイクロサービスの開発に携わっています。自動スケール:どこでも実行できますか?

通常、一部のディスパッチャと一部のワーカーで構成されています。 Dispatcherはデフォルトで作業を自分のローカルワーカーに割り当てますが、現在のホストに過負荷が発生していると判断した場合は、リモートワーカーに作業を割り当てます。

10のホスト(VM)と30のサービス(意味的に異なる)があるとします。

問題は、正しくスケールする方法です。 最初の解決方法は、ホストごとに3つのサービスを実行し、オンデマンドで各サービスを他の9台のマシンで自動スケールする機能です。しばらくしても必要がない場合はスケールダウンしてください。 2つ目の解決方法は、常に10のホストすべてで30のサービスをすべて実行することです。ハイレベルで

答えて

2

、あなたは、フォールトトレランス、ローカライズ、回復、などなどCAPなどの一般的な分散コンピューティングの問題..

を検討する必要がありますが、サービスごとに異なるスケーリングの必要性がない限り、私はおそらくのために行くだろうそれらをすべてのホスト上で実行する2番目の方法です。これにより、フォールトトレランスが向上し、自動スケーリングよりも概念的に簡単になります。ただし、これは、各タイプのサービスで同様のニーズがあると想定し、すべてのサービスがホストの停止または障害によって影響を受けることを意味します。 1つの特定のサービスが異なるニーズ(すなわち、SLAが異なる、機能要件が異なる、より強力なマシンが必要な場合など)、サービスごとのより専門化された配置の議論が増えています。

関連する問題