2017-07-18 3 views
0

私はサービスランナーとしてサービスファブリックを使用しますが、タスクは論理的にサービス(またはアクター、不明)にグループ化されるため、単一のサービス/アクターが複数のタスクを実装できます。サービスファブリックスケーリングまたはサービスインスタンスの作成

タスクスケジューラ(ハングファイアサーバ)が別のサービスにあります。サービス/アクタメソッドを呼び出して結果を待っています。この時点で何とかスケーリングを設定したいので、アイドルモードではサービスは実行されていません。タスクスケジューラがサービスを呼び出す必要がある場合と同じ方法で、必要なインスタンスを作成します。

ご協力いただきありがとうございます。

答えて

1

サービスは常にデフォルトで実行されています。実行中のステートレスサービスの数を変更したい場合は、クラスタのサイズを変更する(スケールインまたはスケールアウト)ことで可能です。パフォーマンスカウンターに基づいて自動スケールを(Azureで)構成することも、手動でスケーリングすることもできます。

インスタンスカウントを変更するもう1つの方法は、これらのステートレスサービス(インスタンスの作成/削除)を管理する追加のサービスを作成することです。 たとえば、タスクキューの深度を拡大することができます。

+0

サービスの代わりにアクターを使用する利点はありますか? –

+1

アクターが常に動作しているとは限りません。アクターメソッドのどれも呼び出されなかった場合(アクターIDベースで)、設定可能な時間が経過した後、ガベージコレクションされます。データは失われません(ステートフルなサービスです)が、その特定のアクターIDのメソッドを再度呼び出すと、新しいインスタンスがインスタンス化され、状態は以前と同じになります。 – Dismissile

関連する問題