問題タブ [azure-worker-roles]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mongodb - Azure 以外の IIS サーバーでの Windows Azure TDS エミュレーション
Windows Azure でホストされ、テーブル データ ストレージ (TDS) を使用する ac# Web アプリケーションを開発しています。
(オプションとして) 他の NoSql バックエンドを持つ従来の IIS サーバーにアプリケーションを展開できるように、アプリケーションを設計したいと考えています。基本的に、サービス モデルとしてのソフトウェアで私に支払うか、顧客が独自の (Azure 以外の) 運用サーバーにインストールできる私のアプリケーションのライセンスを購入するかのオプションを顧客に提供したいと考えています。
両方の目標を達成するために、データ層と中間層を最適に設計するにはどうすればよいでしょうか?
おそらく、Windows Azure ワーカー ロールと Azure キューが必要になるでしょう。これらを複製するのはどれほど複雑ですか? カスタム Windows サービスやその他のキューイング テクノロジで代用できますか?
Azure にデプロイしないときに Azure TDS やその他のストレージにデプロイできるように、データ モデル内のエンティティを作成するにはどうすればよいですか? MongoDB などはこれに役立ちますか?
確かに、Azure と結婚せずに Azure 向けに設計する方法はあります。
wcf - Azure ワーカー ロールでの HTTP 経由の WCF サービス?
Azure ワーカー ロールでポート 80 を開き、WCF サービスをパブリックに実行できることを理解しています。ただし、Web ロールで実行するのではなく、この方法で実行する方が理にかなっているシナリオを考え出すのに苦労しています。何か案は?
concurrency - Windows Azure のワーカー ロールですべてのコアを利用するにはどうすればよいですか?
ワーカー ロールを 4 コアの仮想マシンで実行するように指定したとします。すべてのコアを利用するにはどうすればよいですか?
RoleEntryPoint.Run()
リクエストハンドラーをインストールするためにオーバーライドするメソッドがあるようです。
すべてのコアを利用するためのリクエストを処理するにはどうすればよいですか? 手動でスレッドを生成し、それらに処理を委譲するだけですか、それとも自動的に行うのに役立つ巧妙な抽象化が用意されていますか?
azure - ワーカー ロールの予期しないエラーを検出し、そのような場合にデータを再処理するにはどうすればよいですか?
Windows Azure でホストされる Web サービスを作成したいと考えています。クライアントは処理のためにファイルをアップロードし、クラウドはそれらのファイルを処理して結果のファイルを生成し、クライアントはそれらをダウンロードします。
HTTP リクエストの処理には Web ロールを使用し、実際の処理にはワーカー ロールを使用し、リクエストの追跡には Azure Queue や Azure Table Storage などを使用すると思います。ユーザーがアップロードしたファイルごとに 1 つの "要求" レコード - Azure テーブル ストレージであると仮定しましょう。
設計上の大きな問題は、1 つのファイルを処理するのに 1 秒から 10 時間かかることです。
ワーカー ロールが開始され、Azure テーブル ストレージにアクセスし、"処理準備完了" とマークされた要求を見つけ、"処理中" とマークされ、実際の処理を開始します。通常はファイルを処理し、リクエストを「処理済み」とマークしますが、予期せず停止した場合はどうなるでしょうか?
私がそれを処理しない限り、リクエストは永遠に「処理中」の状態のままになります。
「処理中」とマークされているが放棄されたリクエストを追跡するにはどうすればよいですか? Windows Azure のどのメカニズムが最も便利でしょうか?
azure - Azure WebRole の Quartz.Net ジョブ
現在、WCF サービス プロジェクトを Azure ロールに移植しています。これまで、サービスを含むライブラリは、軽量のバックグラウンド処理 (古いメール確認トークンを定期的にクリーンアップする) のために Quartz.Net JobFactory もホストしていました。そのコードを別のワーカー ロールに移動する必要がありますか?
wcf - Web サービスを Web ロールとして Azure にデプロイする理由は何ですか?
Web サービスはワーカー ロールで実行する必要があるという印象を受けました。Web ロールを使用して Web サービスをセットアップできることを知りました。ある役割を他の役割よりも使用する利点は何ですか?
asp.net-mvc-3 - Azure でワーカー ロールから Web ロールをデプロイする
Azure に移行するかどうかを決定するために、Windows Azure に関する調査を行っています。
基本情報
質問に答えるには、私のアプリの基本的な理解が必要なので、ここで説明します。
このアプリは、SQL Server データベースに接続する ASP.NET MVC 3 アプリケーションです。
これは単一インスタンスのアプリケーションです。つまり、すべての顧客は最終的に、当社のサーバー上で実行されるアプリの独自のインスタンスを持ち、Web サイトとして IIS 7 に展開されます。
各インスタンスに独自のデータベースがある 1 つの SQL Server があります。
バックグラウンド処理を行うための Windows サービスのセットもあります。Windows Azure でワーカー ロールを使用するように書き直すだけなので、これは簡単なはずです。サービスのロジックのほとんどはいずれにせよ独自のクラス (ライブラリ) に配置されているため、サービス自体が 1 つ以上を呼び出すだけです。クラスのメソッド。
質問
ですが、誰かが無料試用版にサインアップするたびに、私は所有している管理者データベースにレコードを追加します。
次に、ASP.NET MVC 3 アプリの新しいインスタンスを IIS に展開し、いくつかのフォルダーにアクセス許可を付与し、データベース展開スクリプトを実行し、レコードを更新して展開済みであることを反映し、最後に送信する Windows サービスを用意します。無料試用版が作成されたことを示す見込み客への電子メール - アクセス方法は次のとおりです。
では、Worker ロールから Windows Azure に新しいインスタンスを展開するにはどうすればよいでしょうか? できれば、新しい Web サイトを既存の Azure インスタンスに追加し、その特定のサイトで使用する新しい SQL Azure データベースを作成するだけです。
これを設定するには多くの作業が必要ですか? それは可能ですか?
windows - GetEnvironmentVariable() が Windows Azure の RoleRoot に対して間違ったディレクトリを返すのはなぜですか?
起動時にカスタム EXE を読み込む Windows Azure 用のワーカー ロール プロジェクトを作成しようとしています。ここにある David Chou の Jetty サーバーの例のコードを変更しました。
http://blogs.msdn.com/b/dachou/archive/2010/03/21/run-java-with-jetty-in-windows-azure.aspx
Visual Web Developer 2010 を使用して、Visual C# 用の新しい Cloud プロジェクトを作成し、ここに示す Worker Role クラス コードに落とし込みました。
問題は、RoleRoot 用に返されるディレクトリが、ストレージ エミュレーターに対してプロジェクトを実行したときに「アプリ」サポート ファイルが表示される場所と一致しないことです。"app" フォルダーは、WindowsAzureProject2 ディレクトリ ツリーを検索して見つけた次のディレクトリにあります。
C:\Users\mycomp\Documents\Visual Studio 2010\Projects\WindowsAzureProject2\WorkerRole1\app
しかし、GetEnvironmentVariable("RoleRoot") は、Trace ステートメントによってダンプされた RoleRoot ディレクトリとして次を報告します。
C:\Users\mycomp\documents\visual studio 2010\Projects\WindowsAzureProject2\WindowsAzureProject2\bin\Debug\WindowsAzureProject2.csx\roles\WorkerRole1
もちろん、カスタムEXEファイルが後者ではなく前者のディレクトリにあるため、proc.Start()が呼び出されたときにファイルが見つからないという例外が発生します。
roleRoot パスが壊れているように見える理由と、これを修正するために何ができるかを教えてもらえますか? proc.StartInfo.FileName への割り当てで EXE の前に二重のバックスラッシュの問題があることに注意してください (Visual Web Developer C# は Visual Studio Pro C# とは異なりますか?)、それを修正しても、私が抱えているパスの問題は変わりません。 GetEnvironmentVariable("RoleRoot") フラットアウトによって返されるディレクトリには、私の「アプリ」ディレクトリが含まれていないためです。
更新:さらに読んだ後、実際に起こっているのは、「approot」ディレクトリが作成されておらず、「app」フォルダーファイルもコピーされていないことです。理由はまだわかりません。
-- ロシュラー
azure - Windows Azure でリモート デスクトップを使用してワーカー ロールをデバッグするにはどうすればよいですか?
これで Windows Azure 環境がセットアップされ、リモート デスクトップで Worker ロールにアクセスできるようになりました。ただし、現時点ではどのように進めればよいかわかりません。よく調べた結果、オフラインの Web サイトを見つけましたが、Google のキャッシュには、Visual Studio デバッガーから Azure クラウドで実行されているワーカー ロールにアタッチするという記述がありました。しかし、私は Visual Developer (studio ではない) 2010 しか持っておらず、あちこち検索しましたが、リモート サーバーに接続するオプションはありません。プロジェクトをエラーなしで Azure クラウドに発行でき、ワーカー ロールの「正常な」インスタンスがアクティブで実行中であることが示されています。
Azure 管理ポータルを介して RDP に接続しました。ログインは正常に機能し、リモート デスクトップ ウィンドウが表示されました。見つけられるものの多くを検索しましたが、Worker Role を見つけることができませんでした。クラウド エミュレーターでローカルにデバッグするときと同じように、ログイン時にワーカー ロールのメイン表示フォームが表示されることを望んでいたため、RDP の印象が間違っているに違いありません。しかし、私が見たのは、いくつかの基本レベルのサーバー検査と管理ルーチンを備えた空のデスクトップだけでした。イベント ビューアーでアプリケーション関連のメッセージを確認しましたが、何も表示されませんでした。
そのため、Management Portal からの一見肯定的なステータス メッセージにもかかわらず、Worker Role が実際に実行されているかどうか疑問に思っています。可能であれば、Visual Developer を介してデバッグするために Worker Role にアタッチしたいと思っていますが、方法がわかりません。
この分野での経験をお持ちで、次に何をすべきかについて確実なヒントをいただける方がいらっしゃいましたら、ご回答ください。
更新: コマンド ウィンドウを開いて Netstat を実行し、正しいポートでリッスンしていることを確認したため、worker ロールが実行されている可能性があります。ただし、それはカスタム EXE を開始する Worker Role シェル クラスにすぎない可能性があります。生成されたプロセスとして起動します。カスタム EXE がまだ実行されているかどうかはまだ確認していません。
UPDATE-2: コマンド ウィンドウから TaskList を実行すると、カスタム EXE が一覧表示されます。
更新-3: サービスのリモート テストを実行したばかりなので、問題はありません。リモート デバッグ用に Visual Developer 2010 からワーカー ロールにアタッチする方法と、クラウド エミュレーターでローカル デバッグを行うときのように、カスタム EXE の表示フォームを確認できるかどうかを知りたいです。
-- ロシュラー
azure - Azureワーカーロールのライフサイクル
Windows Azureオペレーティングシステムは、実行中のワーカーの役割を時々自動的に再起動またはリセットしますか?または、Run()メソッドにループがある場合、Workerロールが無限に実行されているという事実に依存できますか?