問題タブ [server-farm]
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.
asp.net - ASP.NETWebサイトで状態サーバーを使用するときに単一障害点を回避する方法
私の現在のプロジェクトでは、サーバーファームを要求するのに十分な負荷がかかる可能性が高いWebサイト(ASP.NET MVC)を作成する必要があります。サーバーファームを使用する場合は、セッション状態をSQLサーバーデータベースや状態サーバーなどの別の場所に保存する必要があることを理解しています。
いくつかの実験の後、私たちは状態サーバーメカニズムを使用する傾向がありますが、単一障害点があるという事実は私を緊張させます。ステートサーバーを使用するときに「単一障害点」を回避できる方法はありますか?
asp.net - Web ファーム内の Windows サービス (同時実行の競合を防ぐ方法)
Web ファームがいつ作成されるか、先を見据えて...
電子メールの送信、ファイルのサムネイル化/処理など、さまざまなバックグラウンド タスクを実行するさまざまな Windows サービス アプリケーションがあります。
サーバー ファーム環境では、理論上は各マシンに各サービスをインストールして実行できますが、ビジネス オブジェクト ベースの「先書き優先」や望ましくないタスクの重複が原因で競合が発生する可能性があります。の回。
「先に書いたほうが勝つ」というシナリオは、問題を解決するか項目をスキップするコードまたはロジックによって克服できます。(基本的なキューイング メカニズム (クエリ リストとプロセス レコード) の場合は、再試行されます)
タスクを複製するために、トランザクションでタスクを実行して、他のプロセスが同じリソースを取得するのを防ぐことができますが、それらは単に待機するだけであり、再び発生したことに基づいてログインを処理する必要があると思いますか? これは当てはまりますか?
タスクの重複を防ぐために、起動する最初のサービスによって設定されるデータベースに「ロックフラグ」を書き込むメカニズムを構築することを考えています。このフラグは日付が付けられ、サービスのインスタンスを参照します。フラグを「所有」するサービスがタスクを実行し、この日付を定期的に更新します。また、サービスがフラグを所有していない状況では、各サービスにタイムアウト/許容度の設定があり、許容度をチェックし、必要に応じて引き継ぎます。
これは妥当な解決策のように聞こえますか?それとも、その段階でより優れたメッセージ キューイング ベースの解決策に進むべきですか?
テクノロジー: C# / ASP.NET / SQL Server
architecture - ファームで定期的なタスクを共有するための最良の戦略
ここに問題があります。たとえば、毎月残高を生成するなど、ビジネスの定期的なタスクがあるとします。そのタスクはファームで実行される可能性があるため、定期的なタスクを実行しているコンピューターが失敗した場合は、別のコンピューターに渡す必要があります。
では、どうすれば定期的なタスクを継続し、農場で安全にすることができますか?私は永続的で共有されたキューで考えてきましたが、私はかなり立ち往生しています。
何か案は?
前もって感謝します。
php - PHP $_SERVER['SERVER_ADDR']変数は常に127.0.0.1を返します
同じPHPWebアプリ(LAMP)を実行している複数の負荷分散されたWebサーバーマシンがあり、各サーバーでわずかに異なるコードを実行したいと思います(テスト目的で)。$_SERVER['SERVER_ADDR']
私はこのようなことをするためにスーパーグローバルを使用することを望んでいました:
$_SERVER['SERVER_ADDR']
残念ながら、両方のマシンが「127.0.0.1 」に設定されているため、これは機能しません。$_SERVER['SERVER_ADDR']
パブリックIPアドレスに設定されるように構成するにはどうすればよいですか?
この問題は何か関係があるのではないかと推測している/etc/hosts
ので、参照用に現在は次のようになっています。
アップデート...
おっと!Webサーバーの前でnginxリバースプロキシを検討することを怠りました。これらのWebサーバーへのすべてのトラフィックは、nginx confの次の行が原因で、nginxから到着します。
sql - SQLクエリのバージョン管理
サーバーのファームがあり、各サーバーは定期的にデータベースに対して同じクエリを実行しています。これらのクエリ結果は共有キャッシュにキャッシュされ、すべてのサーバーからアクセスできます。
新しいクエリが古いクエリによって上書きされないようにするにはどうすればよいですか?これが起こらないように、たとえば時間ごとにクエリをバージョン管理する方法はありますか?同時クエリを処理する方法は?
ありがとう!
編集:dbはSQLServerです。クエリはselectステートメントです。また、キャッシュメカニズムは非常に単純です。ロックなしの単純な書き込みです。これは、現在、選択クエリの順序を通知する方法がないためです。
automated-tests - MsTest noob - テスト インフラストラクチャを正しい方法でセットアップする方法
私たちは広範囲にわたる MSDN ライセンスを持つ MSFT ショップです。
何年にもわたって間違ったことをしてきた後、ついに自動テストを開始する必要があります。私のグループはこれでモルモットです。今までなかったものを作る必要があります。私たちはそこにある多数のオプションを見ました。CC.Net
、Bamboo
、などのオープンソースの代替手段でうまくやっていく人もいます。MSDN のライセンスと MSFT の焦点のために、 、 を試してみMbUnit
たいと思います。MsTest
CodedUI
Team Build
MSFT の方法で物事を行うことのプラスとマイナスは、MSFT がモノリシックなものを作成することです。相互にうまく機能するさまざまなツールをインストールする必要がありますが、部外者とは必ずしもそうではありません。プラスは、物事が正しく行われると、すべてがかなりスムーズに機能するはずだということです. ゲート チェックイン、TFS を使用したレポートの保存などのオプションがあります。
率直に言って、私はすべての選択肢に混乱しています。私たちの従来のビルド システムは、一連の perl、バッチ スクリプト、実行可能ファイルと一緒にハッキングされていましたが、ビルド チームはチーム ビルドに切り替えました。 .
少なくとも部品が何であるかを見ることができるので、テストのために何かをハックする傾向もあります。* テストを実行する専用の高速コンピューター * ビルド ファイル (テスト コードと製品コード) をそのコンピューターにコピーするためのスクリプト。* コマンド ラインから mstest.exe を実行し、いくつかのテスト dll 内のいくつかのカテゴリ別フィルターでいくつかのテスト バッチを実行するバッチ/perl スクリプト (製品は非常に巨大であるため、さまざまなカテゴリごとにテストを整理したいと考えています)。* psexec.exe (http://technet.microsoft.com/en-us/sysinternals/bb897553) を使用してビルド サーバーから後者のスクリプトをリモートで呼び出すスクリプト、および共有ドライブから xml 出力を取得するスクリプトそして、興味のある人に結果をメールで送信します。
これはおそらく機能しますが、エラー処理が非常に多くの潜在的な障害点でどれだけうまく機能するかを心配する必要があります。MSFT が作成したものを利用して、「正しい方法」で構成するとよいでしょう。良いガイドをどこに向ければよいかわかりません。このようなことをしたことがありますか?
最終的には、割り当てられた時間がなくなった場合に備えて、テスト コンピューターのファームが必要になります。他に懸念される点は、コード化された ui テストが成功するためには、ユーザーがログインする必要があると思われるため、psexec がここで役立つかどうかはわかりません。
あなたの肯定的/否定的な経験を共有していただけますか?おそらく良いガイドを教えてください? ありがとう!
networking - 複雑な本番Web開発環境をシミュレートするための最良の方法は何ですか?
開発中のWebサービス用に適度にスケーラブルな開発環境を作成したいと思います。
理想的には、haproxyを備えたnginx Webサーバーと、いくつかのデータベースサーバー、WebSocket、作品があります。
私はこのすべてのホスティングにアマゾンクラウドサービスを利用する予定です...しかし、開発中のCPUサイクルにお金を払うのではなく、リモートのクラウド環境で開発することははるかに少ないです。
やや複雑な開発環境をローカルでモデル化するための最良の方法は何ですか?ボタンを押すだけで、同様に設計されたAmazonクラウド環境と同期できますか?
私が持っているのはMacbookProだけです。私はまた、必要に応じて活用できるクローゼットの中に完全に構築された1Ghzタワーコンピューターを持っており、さらに購入することに反対することはありません。しかし、最終的には、最小限の手順と再構成で本番環境に同期できるようにしたいと考えています。
ありがとう!
asp.net-mvc-2 - MVCフォーム認証-サーバーファームでのホスティングをどのように処理しますか?
私はこのトピックについていくらかの明確さを探しています。
サーバーファーム全体でサイトの負荷を分散するホストを使用してサイトをホストしようとしています。
私のMVCサイトはフォーム認証を使用しているため、各サーバーがクライアントから送信された認証Cookieを認証できるという問題があると思います。
他の投稿から-各サーバーに同じマシンキーが必要であることを理解しています-必要な場合は、各サーバーが認証Cookieを読み取ることができます。
明確にする必要があるのは、MVCアプリケーションのweb.configファイル内でこれを処理できますか(または処理できると思いますか)?web.configでマシンキーを指定している場合(現在行っていること)-それが認証Cookieの生成と認証Cookieの読み取りに使用されるキーになると思います。各サーバーにはサイトのweb.configのコピーがあるので、ユーザーから送信されたCookieはどのサーバーでも読み取ることができると思います。
私は何が欠けていますか?
私のローカルマシンでは、VS開発サーバーバージョンのサイトからローカルホストバージョンのサイトに同じCookieを使用して移動し、両方で認証することができます。(同様のシナリオのようです)
この投稿は、私が正しいと思っていることを教えてくれると思いますが、ホスティングプロバイダーに戻る前に、より多くの情報を期待しています-複数のサーバー間で永続的な認証を形成します
私の無知を軽減するためのこれへの洞察は大いにありがたいです。
ありがとう
msmq - サーバーファームのMSMQ
アプリケーションでメッセージ処理サービスとしてMSMQを使用することを検討しています。必要なのは、ノード間で負荷を分散するNetwork Load Balancer(NLB)の背後にあるサーバーのファーム内のMSMQです。オンラインでポインタが見つからなかった次の質問があります。
1)すべてのノードにMSMQをインストールする必要がありますか?
2)その場合、送信者アプリケーションがMSMQにメッセージを送信するときに、すべてのノードに送信する必要がありますか?
3)2番目の質問に対する答えが「はい」の場合、クライアントアプリケーションがメッセージを受信したときに、クライアントが受信したメッセージについて他のノードに通知し、その後それらから削除するにはどうすればよいですか?
ヘルプ/ポインタをいただければ幸いです。
asp.net-ajax - Dundas チャート ファイルが見つかりません
従来のシステムを調べていると、Dundas チャートがファイルが見つからないという例外を頻繁にスローすることがわかりましたが、常にではありません。
システムには複数のサーバーがリクエストを取得しているため、次の例のように、サーバー ファーム構成を使用して実行するように Dundas が設定されています (dundasサポートが推奨)。
多くの場合、チャート画像が見つかりません。複数のサーバーに関係しているように感じます。
私のチャートには次のプロパティがあります。ajaxzoomenabled="true" callbackstatecontent="All"
サーバーは IIS6 を実行し、NBL アフィニティはアフィニティを使用しないように設定されています。
親和性なし
アフィニティがない場合、NLB はクライアントを特定のメンバーに関連付けません。すべてのクライアント要求は、任意のメンバーに負荷分散できます。このアフィニティーは最高のパフォーマンスを提供しますが、セッション情報が存在しない他のメンバーに後続の要求が負荷分散される可能性があるため、確立されたセッションでクライアントを混乱させる可能性があります。
助言がありますか?
よろしく。