問題タブ [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.
azure - Azure のワーカー ロールは負荷分散を伴う重い作業を行うメソッドのようなものですか?
あなたの助けは、Windows azure についての理解を深めてくれます。前もって感謝します。
時間のかかる操作を行っているメソッド (worker ロールの Run() メソッド) のような worker ロールを理解しています。これにより、トラフィックが急増した場合に処理を高速化するために、この worker ロールのインスタンスを複数持つことができます。
1)次のようなこと以上のことを行うワーカーロールを持つことはできますか? - PDFを作成するメソッド。- チャートを作成するメソッド; -一部の HTML を解析するメソッド。-画像を処理するメソッド
4 つのワーカー ロール (上記の機能ごとに 1 つの RUN() メソッド) を使用してこれらすべてを簡単に実行できますが、これは非常にコストがかかります。この 4 つのことを同じワーカー ロールのメソッドとして配置できますか?
2) ワーカー ロールで WCF サービスをホストすることの欠点は何ですか?
3) キューの代わりに WCF を介して同じ Azure ソリューション内のインスタンス間で通信することの欠点は何ですか? これは遅いですか?
azure - 位置情報と仕様における Azure の柔軟性
Azure について読んでいますが、理解できないことがいくつかあります。
- サーバーをヨーロッパに置くことを選択した場合、後で別のデータセンターに移動できないのはなぜですか?
- ワーカー/Web ロールのサイズを選択した場合、後でより大きなサイズにアップグレードできますか?
- 異なるサイズのワーカー/Web ロールの異なるインスタンスを一緒に動作させることはできないと読んだと思いますか? 私は正しいですか?そして、肯定的な場合、なぜですか?
- 何が安いの?適切にマルチスレッド化されたワーカー ロールを持つ大きな VM か、複数の小さな VM に複数のシングルスレッド ワーカー ロールがあるか?
前もって感謝します。
azure - worker ロールでのインスタンス数の操作
ワーカー ロールで複数のインスタンスを使用している間、スレッド同期の問題は発生しません。私の疑問は、2 つのインスタンスが同じレコードを選択して同じものを処理しようとする可能性があるかどうかです。この問題を解決する方法。
ありがとう
azure - 複数のインスタンスでのAzureワーカーロールの同時実行の制御
私は、SQL Azureデータベースでデータ処理を行う、Azureでの単純な作業の役割を担っています。ワーカーは基本的に、サードパーティのデータソースから2分ごとにデータベースにデータを追加します。ロールのインスタンスが2つある場合、これは明らかに不必要に2倍になります。冗長性と99.95の稼働時間のために、2つのインスタンスが必要ですが、同じジョブを複製するだけなので、両方を同時に処理することは望ましくありません。私が見逃しているこのための標準的なパターンはありますか?データベースにフラグを設定できることは知っていますが、これを管理するための別のより簡単な、またはより良い方法があることを望んでいます。ありがとう
azure-storage - エンティティを複数のAzureテーブルストレージパーティション(同じテーブル)に挿入し、どの挿入が失敗したかを確認します
いくつかの外部Webサービスから情報を取得し、それをいくつかの異なるエンティティタイプに解析し、これらのエンティティをAzureテーブルストレージに格納するようにAzureワーカーロールを設定しています。重要なのは、これらのエンティティのすべてではないにしても、ほとんどがそれぞれテーブル内の独自のパーティションに挿入されることです。
AddObject(EntityToBeInserted)を呼び出すTableServiceContext拡張クラスを使用して、作成時に新しいエンティティをtableservicecontextにアタッチしています。現在、TableServiceContext.SaveChangesWithRetries(SaveChangesOptions.None)を呼び出して、これらのエンティティをそれぞれのパーティションのテーブルに保存しています。これはすべて正常に機能します。
私の質問は、それがうまく機能しない場合はどうなるのかということです。行キーとパーティションキーを一意でないものにすることで、1つ以上のエンティティを保存しないようにすることができますが、その動作の周りでキャッチしたエラーメッセージは、どのエンティティが失敗したかを示しておらず、エラーが発生しただけです。それらの中の一つ。
各エンティティが独自のパーティションに移動するワーカーロールからテーブルストレージにエンティティを保存するにはどうすればよいですか(これらの保存呼び出しの1つに2〜30のエンティティが挿入されていると仮定します)。これにより、これらの挿入の1つ以上が失敗した場合に少なくともそれがどれであったかを知ることができますか?これらの操作は非常に時間に敏感であるため、残念ながら、関連するストレージノードが再び使用可能になるのを待つために長時間実行される再試行オプションに依存することはできません。
ありがとう、アレックス
c# - Azure - 時間ベースのタスクをキューに入れる
Windows Azure で実行される私のアプリケーションは、ユーザーからの着信要求 (Azure キューに入れられる) を処理し、現実の人々に割り当てます。
人々は、要求を処理するために一定の時間を持っています。割り当てられた人が誰もリクエストを処理しない場合は、新しい人に移る必要があります。基本的に、これらのタスクを特定の時間に処理するためにキューに入れ、再度処理したいと考えています。ユーザーの 1 人がタスクを処理する場合、ワーカーによって再度処理されないように、そのタスクをデキューする必要があります。
.net - Windows Azure での mySQL 接続のタイムアウト
複数のサードパーティ システムと統合する Windows Azure アプリケーション (Lokad.CQRS アーキテクチャ) があります。これらの統合の 1 つが mySQL で行われます。すべて順調に進んでいましたが、最近、Windows Azure アプリケーションが接続できない mySQL データベースが 1 つあり、タイムアウトが発生しました。
関連するスタック トレースは次のとおりです。
重要なハイライト:
- ターゲット データベースは Windows Azure からアクセスできます (ポート フォワーディングを使用して、MySQL Workbench 経由で接続しているときに確認します)。
- ターゲット DB との統合は、ローカルの Azure Dev Fabric から適切に機能します。
- Windows Azure での問題は、ブースのプールされた接続とプールされていない接続で発生します。
- TCP/IP、通常のポート、SSL なし。
- この操作の接続タイムアウトは十分な長さです - 5 秒で、継続的に失敗します (ただし、NE DC から遠く離れていない Azure 以外のマシンからは常に成功します)。
Oracle、MS SQL、mySQL、および PostgreSQL の接続は、さまざまなセットアップと構成 (Linux/Windows でホストされたデータベース サーバー) で、Windows Azure を介して Lokad.CQRS から機能しています。しかし、この特定の mySQL ケースは、私を完全に混乱させます。
問題の原因について何か推測はありますか?
wcf - Azure RoleEnvironment にアクセスするときの「ロール検出データを利用できません」
私は WCF サービス (Web ロール) を使用しており、worker ロールと対話しています。worker ロールの異なるインスタンス間で調整しようとすると。次の例外がスローされます。
「ロール探索データが利用できません」
RoleEnvironment.Roles["MyWorkerRole"]
WCF Web サービスではアクセスできません。
azure - Azure Web ロール内で Azure Worker コードをホストする方法はありますか?
比較的低帯域幅の Azure Web ロール アプリケーションと、ワーカー ロールの下で実行されるいくつかのプロセスがあります。私の worker ロールも、ほとんどの時間をアイドル状態に費やしています。
Web ロール内でワーカー ロール ループのようなものをポーリングする方法はありますか?
私が見つけることができる最も近い要求は次のとおりです 。
azure - AppFabric ServiceBus on Azure、IObserver パターンを使用した信頼性の高い役割間通信の実装
私はこの例(サイトのリンクからソースコードをダウンロードするか、ここ)に従おうとしていますが、例に埋め込まれているように見えるエラーに遭遇し続けます.
私の手順は次のとおりです(AppFabric SDKなどをインストールした後)依存関係):
- ソースをダウンロード
- AppFabric にサービス名前空間を作成します。
- 1 つの Worker ロールを持つ新しい Windows Azure プロジェクトにプロジェクトをインポートし、すべてがコンパイルされ、デフォルトの Worker Role Run() メソッドが開始して機能することを確認します。
- InterRoleCommunicationExtension.cs のメソッド GetInterRoleCommunicationEndpoint を、AppFabric サービス名前空間の ServiceNameSpace と IssuerSecret で構成します (IssuerName と ServicePath はデフォルトのままです)。これは、私自身のパラメーターの配線です。
- デモの「SampleWorkerRole.cs」ファイルから初期化ロジックをコピーして、プロジェクトのワーカー ロールの OnStart() メソッドに貼り付けます。
- デモ コードには Tracemanager メソッドが実装されておらず、このテストが機能するために重要ではないため、Tracemanager.* への参照をコメント アウトします。これらの参照は約 7 ~ 10 個あります (ソリューション全体で [検索] -> [Tracemanager] を実行するだけです)。
- 正常にビルドします。
- ローカル コンピューティング エミュレーターで実行します。
このテストを実行すると、新しい InterRoleCommunicationExtension (初期化される役割間通信インフラストラクチャの最初の部分) の初期化中に、「値を null にすることはできません。パラメーター名: contractType.」this.interRoleCommunicator = new InterRoleCommunicationExtension();
というエラーが発生します。
これを少し掘り下げて、実行を ServiceBusHostFactory.cs (サンプルのファイルの 1 つ) の次のメソッドまでたどります。public static Type GetServiceContract(Type serviceType)
{
Guard.ArgumentNotNull(serviceType, "serviceType");
serviceType パラメータの Name プロパティは「IInterRoleCommunicationServiceContract」です。これはデモのクラスの 1 つであり、IObservable を拡張します。serviceType.GetInterfaces() を呼び出すと、「System.IObservable`1」インターフェイスが返されFrameworkUtility.GetDeclarativeAttribute(serviceInterface);
、次のコードを持つ に渡されます。
public static IList GetDeclarativeAttributes(Type type) where T : class
{
Guard.ArgumentNotNull(type, "type");
It is here that the issue arises. After not finding any customAttributes on the "IObservable1" type, it calls type.GetInterfaces(), expecting a return. Even though type is "System.IObservable
1」、このメソッドは空の配列を返すため、関数は null を返し、上記のメッセージを含む例外が発生します。
パブリッシュ/サブスクライブ メッセージング パラダイムは私のアプリケーションにとって完璧なソリューションだと思うので、このシナリオを機能させることに非常に興味があります。このデモ コードを (AppFabric CAT チーム自体から) 動作させることができた人はいますか? または、私のエラーを見つけることができますか? ご協力ありがとうございました。