Service Fabric はビルド カンファレンスで発表されたばかりです。私はそれに関する乏しいドキュメントを読んでいて、質問があります。
現在、ASP.NET WebApi に組み込まれている CRUD のようなマイクロサービスをホストする Service Fabric を評価しています。
Service Fabric は、CRUD WebApi タイプのアプリケーションをホストするのではなく、データを受信して処理し、結果を返す小さな機能をホストすることを目的としていますか?
Service Fabric はビルド カンファレンスで発表されたばかりです。私はそれに関する乏しいドキュメントを読んでいて、質問があります。
現在、ASP.NET WebApi に組み込まれている CRUD のようなマイクロサービスをホストする Service Fabric を評価しています。
Service Fabric は、CRUD WebApi タイプのアプリケーションをホストするのではなく、データを受信して処理し、結果を返す小さな機能をホストすることを目的としていますか?
Service Fabric を使用すると、ステートレス マイクロサービスとステートフル マイクロサービスの両方を作成できます。
名前が示すように、ステートレス サービスのインスタンスによって維持されている状態は、ノードがダウンすると失われます。新しい新鮮なインスタンスは、クラスター内の別の場所で単純にスピンアップされます。
ステートフル サービスは、外部ストアに依存せずに状態を維持する機能を提供します。Reliable Collectionに格納されたデータは、クラスター内の複数のノードに自動的に複製され、状態が障害に対して回復力があることが保証されます。
一般的なパターンは、アプリケーションへのクライアント向けゲートウェイとしてステートレス サービスを使用し、そのサービスからアプリのパーティション分割されたステートフル サービスにトラフィックを転送することです。これにより、クライアントからパーティションを解決する作業が隠され、すべてのリクエストで 1 つの論理エンドポイントをターゲットにすることができます。
これがどのように機能するかの例については、 WordCount サンプルをご覧ください。WordCount.WebService ステートレス サービスは、アプリケーションのフロント エンドとして機能します。着信要求に基づいてパーティションを解決し、それを送信します。WordCount.Service ステートフル サービス (単語の最初の文字に基づいて分割) は、受信した要求をすぐに ReliableQueue に入れ、バックグラウンドで処理して、結果を ReliableDictionary に格納します。
詳細については、Reliable Services の概要を参照してください。
注: 今のところ、WebAPI エンドポイントをクライアントに公開する最善の方法は、ステートレス サービスで OWIN サーバーを自己ホストすることです。ASP.NET 5 プロジェクトも間もなくサポートされる予定です。
このビデオは、私自身の質問に答えます: http://channel9.msdn.com/Events/Build/2015/2-704。要約すると、ステートレス サービスを使用して、データを外部データ ストアに永続化する ASP.NET ベースのサイトまたは API をホストする必要があります。