問題タブ [horizontal-scaling]
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.
amazon-web-services - AWS スケーリングがどのように機能するかを理解しようとしている
スケーリングについて、まだ理解していないことが 1 つあります。簡単なシナリオ ELB -> EC2 フロントエンド -> EC2 バックエンドを想定
トラフィックが多い場合、新しいフロントエンド インスタンスが作成されますが、バックエンドへの接続はどのように確立されるのでしょうか?
バックエンド アプリケーションは、どの EC2 から受信しているかをどのように追跡して、適切なエンド ユーザーに応答できるようにするのでしょうか?
さらに、自動作成されたインスタンスの 1 つから接続が確立された後、トラフィックが再び少なくなり、インスタンスが削除された場合、エンドユーザーへの接続が失われますか?
FWIW、サーバー間の接続はWebSocketを介しています。
ibm-cloud - Bluemix でのスケーリング
cf scale myApp –i 5
は水平方向のスケーリング
cf scale myApp -k 512M
用、 は垂直方向のスケーリング用です。
上記の水平方向および垂直方向のスケーリング コマンドを使用するとどうなりますか? インスタンス数を 5 増やし、ディスク サイズを 512M 増やしますか? それとも、アプリケーション インスタンス全体を 5 にして、ディスク サイズ全体を 512M に増やしますか?
java - SPRING BATCH : タスク エグゼキューターで実行されている複数のジョブのリモート チャンクを構成する方法
春のバッチ処理は初めてです。master 、複数のスレーブ、およびメッセージング用の ActiveMQ がある リモートチャンクを使用しています。
マスターにはジョブとジョブランチャーがあり、ジョブランチャーには次の構成を持つタスクエグゼキューター
<task:executor id="batchJobExecutor" pool-size="2"queue-capacity="100" />
があります。
チャンク構成は
したがって、一度に 2 つのジョブを実行でき、残りのジョブはキューに入れられます。
2 つのジョブが送信されると、マスターはチャンクを作成してキューに送信し、スレーブは処理を行っています。
しかし、スレーブからマスターへの確認応答でエラーが発生しています
これで私を助けてください。
ruby-on-rails - 競合状態 - 1 つのデータベースを使用する複数のアプリケーション インスタンス
Rails アプリケーションを複数のインスタンスにスケールアップする予定ですが、それらは引き続き同じデータベースを使用します。2 人のユーザーがアプリケーションの 2 つの異なるインスタンスを使用して同じアカウントを編集することになった場合、これは間違いなくどこかで競合状態を引き起こします - これが Rails アプリケーションであることを考えると、これを防ぐ最善の方法は何ですか?
私が知っている唯一のデータベース関連の設定では、実際のサーバー IP を指定できます。プログラムが何らかの形で仲介者になることができれば、問題は解決します...そうでなければ、アプリケーションインスタンスは何らかの方法で互いに通信する必要がありますよね??
Postgres の設定を使用してこれを解決する方法がない限り...
どんな助けでも大歓迎です!! ありがとう!
video-streaming - 1 つの Kurento メディア サーバーから別のサーバーへのストリーミング
Kurento サーバーのクラスターを構築して、少数 (約 10) のビデオおよびオーディオ ストリームを多数の視聴者 (最大 1000 レシーバー) にストリーミングできるようにするタスクがあります。そうそう、合計10,000ストリーム。明らかに、どの種類のサーバーでも単一の Kurento インスタンスではそれほど処理できないため、クラスタリングが必要です。
これが私がやろうとしていることです:
1) プレゼンターから「マスター」サーバーへの接続を受け入れます。パイプラインが作成され、WebRtcEndpoint が作成され、プレゼンター クライアントからの SDP オファーが供給され、SDP 回答がそれに配信され、MediaStateChanged にサブスクライブしてストリームの開始を待ちます。イベント。
2) それが発生した場合、いくつかの RtpEndpoints を作成し、それらのそれぞれにフィードします。手作業でハッキングされた SDP オファーは次のようになります。
各スレーブサーバーのIPを毎回置換し、Kurentoに割り当てられた範囲外の空きUDPポートをいくつか使用します。そのエンドポイントをプレゼンターの WebRtcEndpoint に接続します。
3) ????? (ステップ2でRtpEndpointによって送信されたストリームを受信するスレーブサーバーにRtpEndpointを作成する必要があります-しかし、どのように?どのSDPにフィードするのですか?おそらく、ステップ2でsdpAnswerを受信し、スレーブKurentoでSDPオファーとして再利用します?不明)
4) ラウンド ロビン負荷分散アルゴリズムによって各スレーブ サーバーにビューアーを接続し、RtpEndpoint を受信 WebRtcEndpoint に供給します。
ステップ3で誰か助けてくれませんか?また、私の計画は正しいですか?
ご提案ありがとうございます。
ミハイル
PS また、大きな大きな問題は、 $slave_port がどうなるかです
.net - AWS でホストされている .NET アプリケーションで CPU を集中的に使用するタスクをスケールアウトする
複雑なグラフ、SVG 画像、表、その他のデータを含む、洗練された大規模な PDF レポートをレンダリングするタスクがあります。1 つのリクエストの処理には、実行に最大 10 分かかります。限られた時間範囲で数百のそのようなリクエストを処理する必要がある場合があります。この作業を実行するネット アプリは現在、単一のマシンでホストされています。サービスは完全にステートレスです。1 台のマシンでの並列処理はほとんど効果がないため、水平方向にスケーリングする方法を探しています。
AWS を使用してサービスをホストしています。現在、必要な数のインスタンスを実行する可能性がある手動または自動スケーリング グループに、このサービスを使用して EC2 インスタンスを含めることを考えています。また、すべてのリクエストを運ぶキューを追加することも考えています。すべてのインスタンスが 1 つのキューで動作し、各インスタンスが独自の要求を処理するようにします (要求の処理 = 1 つの PDF レポートのレンダリング)。
AWS を使用してステートレス .NET アプリケーションの CPU 集中型作業をスケールアウトするための独創的な方法 / ベスト プラクティスをいくつか推奨していただけますか。
前もって感謝します!
hadoop - hbase は本当に直線的にスケーリングしますか?
hbase の学習を始めましたが、線形にスケーリングする方法がわかりません。
問題は、hbase をインストールする前に、hdfs クラスターが必要なことです。HDFS クラスターには、クラスター全体で 1 つしか存在できないマスター ノードがあるため、ボトルネックになります。もちろん、もう 1 つのマスター ノードを実行できます (もう 1 つのマスター ノードしか実行できません) が、スタンバイ状態になります。私が理解しているように、hbase は HDFS クラスターを使用してデータを保存します。したがって、私にとって論理的には、複数の Hmaster を実行しても意味がありません。なぜなら、すべてのリクエストが hdfs アクティブ マスターに送信され、リクエストが多すぎるとパフォーマンスが低下する可能性があるためです。
また、hdfsと同じノードにhbaseをインストールする必要があるのか 、それとも個別にインストールする必要があるのか を正しく理解していません。HDFS とは別に hbase を実行すると、どのような利点がありますか。私にとっては、次の例のように、hbase クラスターを hdfs と同じノードにインストールするのが論理的です。
hdfs マスターと hmaster を分離すると、hbase クラスターが失われる可能性が 2 倍になるため、私にとってはこれが最も論理的な構造です。
誰かがこれらすべてについて情報を共有できれば、とてもうれしいです。hbaseがどのように線形にスケーリングできるか、そしてhdfsでどのように機能するかを本当に理解していないからです。
amazon-web-services - アプリケーションとデータベースが同じインスタンス上にある場合の 1 つの EC2 インスタンスから 2 つのインスタンスへのスケーリング
Web アプリケーションと MariaDB データベースをホストする 1 つの EC2 インスタンスがあり、ある時点で Web アプリケーションとデータベースを別々のインスタンスに分離してスケールアウトしたい場合、ダウンタイムを発生させずにスケールアウトするための標準的な方法は何ですか? 私には複雑な問題のように思えますが、Web 層とデータ層を最初から分離しておくことの利点について議論しているすべての投稿は、ほとんどがセキュリティの利点について述べており、スケーラビリティの利点を強調しているようには見えません。見た目ほど複雑な問題ではないと思います。
また、この同じシナリオで、スケールアップしてアプリケーションとデータベースの結合を維持することがそれほど複雑でないとしたら、どのように機能しますか? -- ダウンタイム 0 の要件を念頭に置いてください。