2016-09-12 3 views
0

私はAkka.netを学んでいます。私は俳優をローカルで実行しているランニングテストをセットアップし、AzureのVM上の別のアクターに遠隔操作します。私の俳優は死ぬことはできません。

問題が解決したら、アプリケーションをローカルで閉じると、リモートアクタも停止します。

私は、リモート俳優がちょうど終了を受け入れ、ローカルで実行している俳優からの次の接続を待つことですに必要なもの

を「既存の接続はリモートホストに強制的に切断されました」。これをどうすれば解決できますか?

答えて

2

remote deploymentを使用して俳優を作成している場合、俳優は停止します(俳優のシステムシャットダウンのため)。この場合、子供は別のマシンで生活していますが、それはまだ地元の俳優の子供です。これは、俳優のシステムライフサイクルの自然な部分です。子供は両親なしでは生きられません。

あなたの俳優をクラスタノードに分散させ、それらを自動的に再バランス/再作成することに興味がある場合は、Akka.Cluster.Shardingプラグインをご覧ください。はるかに簡単ですが、このソリューションは標準のakkaアクタよりも複雑で遅いソリューションです。これらの機能が本当に必要であることを確認してください。

+0

私はこの回答を2番目に挙げています。あなたが記述しているのは設計によるものです。親/監督者が離れると、子供も亡くなります。 –

0

アクターがライブを継続して使用できるようにするには、リモートデプロイメントを使用できない場合は、アクターを含むサービスを作成し、wcf、restおよび/またはwebなどのリモートテクノロジーサービス。

俳優が仕事を待つことを望むなら、別の製品を調べることをお勧めします。具体的なネットからnServiceBusを試してみましょう。私たちはこれをこの方法で使い、とても満足しています。本質的には、永続的キューをリッスンするアクターモデルです。

関連する問題