問題タブ [distributed]

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.

0 投票する
5 に答える
1095 参照

networking - 「所有」ニックネームで IRC サーバーを実装するにはどうすればよいですか?

最近、IRC プロトコル (RFC 1459、2810-2813) について調べていて、独自のサーバーを実装することを考えていました。

私は必ずしも IRC プロトコルに忠実に従うことを検討しているわけではありません (結局のところ、これは楽しみのために行っているのです)。

プロトコルや IRC 仕様について、気に入らない点がいくつかあります。1 つ目は、ニックネームが所有されていないことです。NickServ のようなサービスは存在しますが、公式のプロトコルには含まれていません。一方、 NickServのようなものを適切に実装すると、配布の目的が損なわれます (つまり、NickServ が実行されている場所が 1 つと、そのためのデータ ストアが 1 つあります)。

サーバーごとにニックネームを管理する方法があることを期待していました。これに関する問題は、登録されたニックネームを持つ 2 つのサーバーがあり、それらがリンクする場合、衝突が発生する可能性があることです。

1 つの中央データ ストアを使用せずに、これを回避する方法はありますか? つまり、サーバーを疎に接続したままにし (それぞれが独立したエンティティとして存在するが、相互に接続することもできる)、ニックネーム間の一意性を維持することは可能ですか?

この質問が漠然としていることは承知していますが、これ以上の言い方は思いつきません。私は実際のはい/いいえの答えよりも提案を探しています。したがって、サーバーの独立性を維持しながら、ネットワーク内でニックネームの一意性を実現する方法について何かアイデアがある場合は、ぜひ聞いてみたいと思います。IRC プロトコルに厳密に従う必要はないことに注意してください。目的に合わせて変更しても問題ありません。:)

0 投票する
1 に答える
223 参照

ipc - 別のマシンで統計を計算し、それらを再度組み合わせるにはどうすればよいですか?

同じ機能を提供する 2 つのバックエンド アプリケーションがあり、それらは 2 つの別々のマシンに配置されています (実際には、これは負荷分散を行うためです)。そのため、同じ方法を使用してクライアントのフロントエンド リクエストを処理します。

接続されているすべてのクライアントに関する統計を収集し (つまり、クライアント GUI アプリケーションで最も使用されているコンポーネントなど)、その結果をすべてのクライアントに毎秒送信したいと考えています。

バックエンドコンポーネントごとにこれらの統計を個別に計算し、両方を合計することを考えています。その場合、バックエンドコンポーネント間で何らかの通信を行うか、単にグローバルDBに小さなテーブルを作成し、各バックエンドがテーブルを更新してから選択するクライアントに送信しますが、統計を毎秒送信したいので、これによりパフォーマンスが低下する可能性があります

助けが必要です

0 投票する
2 に答える
335 参照

python - Pyro を介してオブジェクトを転送する

プロジェクトで Pyro を使用していますが、完全なオブジェクトをネットワーク経由で転送する方法がわかりません。オブジェクトは分散されていません(私の分散オブジェクトは問題なく動作します) が、既に利用可能な分散オブジェクトへの引数として機能する必要があります。

私のオブジェクトは、いくつかのメソッドといくつかの変数 (整数とリスト) を含むカスタム クラスから派生したものです。このクラスは、サーバーとクライアントの両方で使用できます。オブジェクトを分散オブジェクトのメソッドへの引数として使用すると、整数変数は正しく「受信」されますが、「送信」される直前の値が含まれていることがわかりますが、リストは空です。

どうしてこれなの?

クラスの短いバージョン:

分散オブジェクトでの受信方法:

0 投票する
8 に答える
5934 参照

java - Java - 分散プログラミング、RMI?

私はここで問題を抱えています。さまざまな交通シミュレーション モデルの統合を可能にするフレームワークを構築することを目指しています。この統合は、シミュレーション間でのリンク接続、リンク コスト、および車両の共有に基づいています。

分散シミュレーションを行うために、「コーディネーター」 (スター トポロジー) を用意する予定です。参加しているすべてのシミュレーションは、単純に登録され、コーディネーターとのみ対話します。次に、コーディネーターは、各シミュレーション間のさまざまなタスクの実行を調整します。

分布の問題の簡単な例は、1 つのシミュレーションが道路などの特定のオブジェクトを「担当」している場合です。そしてもう一つは、他の道路の「担当」です。ただし、これらの道路は相互接続されています (したがって、これらのシミュレーション間の同期が必要であり、データを交換したり、メソッドをリモートで呼び出したりできる必要があります)。

私は RMI を見てきましたが、このタスクに適していると考えています。(オーバーワイヤ シグナリング規則を作成しなければならないことを抽象化するため)。

これは正気ですか?ここでの問題は、シミュレーション間の明示的な同期を確保するために、シミュレーション参加者がデータ ストレージの一部を「コーディネーター」に集中させる必要があることです。さらに、一部のシミュレーションでは、他のシミュレーションのコンポーネントまたはメソッドが必要になる場合があります。(したがって、RMIを使用するという考えです)。

私の基本的なアプローチは、「コーディネーター」に巨大な RMI レジストリーを実行させることです。また、すべてのシミュレーションは、レジストリ内のすべてを検索するだけで、各ステップで正しいオブジェクトが使用されるようにします。

この道を進むためのヒントはありますか?

0 投票する
3 に答える
101 参照

http - Web サーバーの最適なロード方法

Web サーバーが 1 日あたり 100GB のサービスを提供する場合、10MB のセッションを 10,000 回、または 500kB のセッションを 200,000 回使用する方がよいでしょう。

この質問の理由は、コンテンツをミラーリングして、クライアントが HTTP の中間開始機能を利用して多くのサーバーからセグメント内のファイルをダウンロードできるようにするサイトに、利点、欠点、またはどちらでもないかどうか疑問に思っているからです。(IIRC これは少し torrent の作品に似ています)

0 投票する
7 に答える
8393 参照

distributed - 分散システムを設計および検証する方法は?

アプリケーション サーバーとオブジェクト データベースの組み合わせであるプロジェクトに取り組んでおり、現在は 1 台のマシンでのみ実行されています。少し前に、分散リレーショナル データベースについて説明している論文を読み、その論文のアイデアを自分のプロジェクトに適用する方法についていくつかのアイデアを得ました。 -何もない建築

私の問題は、分散システムとそのプロトコルの設計経験がないことです。大学で分散システムに関する高度な CS コースを受講していません。そのため、デッドロック、飢餓、スプリットブレインなどの問題を引き起こさないプロトコルを設計できるか心配しています。

質問:分散システムの設計に関する適切な資料はどこにありますか? 分散プロトコルが正しく機能することを確認する方法には、どのようなものがありますか? 書籍、学術論文などの推薦を歓迎します。

0 投票する
4 に答える
3274 参照

http - 分散型 HTTP ベンチマーク ツール?

当社が開発しているウェブサイトのベンチマークを行いたいと考えています。複数の Web サーバーとバックエンド サーバーで構成されます。

大量のリクエストを適切にシミュレートできるようにするために、開発マシン (約 15 Xp/Vista) といくつかの予備の Red Hat サーバーをベンチマーク クライアントとして使用することを考えていました。

これらのマシンをスレーブ/クライアントとして設定し、それらを制御して組み合わせたベンチマークを実行し、集計結果を取得できるツールはありますか?

ベンチマークは、通常のユーザーがログインしていくつかのページを閲覧することをシミュレートすることで構成されます。

0 投票する
4 に答える
408 参照

.net - クライアント - サーバー: クライアントが自分の存在をサーバーにアナウンスした後、サーバーが引き継ぐ場合、それは依然としてクライアント サーバーですか、それとも P2P ですか?

読者の皆さん、こんにちは!そこで、クライアント サーバー システムを開発しようとしています。以前にクライアント サーバー システムを設計したことがないので、質問を投稿して、ここの専門家が何を言わなければならないか見てみようと思いました。

要件: .NET 3.5 WCF 2 台以上のコンピューター (マスターとスレーブ)。

ユースケースは、スレーブがマスターの要求でテストを実行するテスト環境です。

質問: スレーブがマスターを見つけて接続し、マスターが制御を取得して実行するテストを開始することを希望します。スレーブは、新しいテスト データ、予期しないイベントなどの進捗レポートも作成します。

私が混乱している部分は、スレーブがマスターとの接触を開始した場合、それは彼をマスターにしないということですか?

これは、アクティビティを開始できるように、スレーブとマスターの両方にサービスホストが必要であることを意味しますか?