問題タブ [distributed-computing]
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.
java - Java RMI と CORBA を使用した分散コンピューティング
以下は私が直面している問題です。例を挙げて説明します
Java RMIを利用するIT部門とCORBAを利用する別の部門があり、たまたまその2つの部門を統合した場合
最小限の時間を費やす
最小限の予算で
私が取ることができるアプローチは何ですか
誰かがこの質問の答えを見つけるのを手伝ってくれませんか? どんな助けにも本当に感謝します
wcf - 分散アプリケーションの WCF サービス登録
WCF を使用してクライアントと通信するクライアント サーバー アプリを設計中です。負荷が高くなり、分散型の設計が必要になる可能性があります。そのために、アプリケーションをいくつかのサービスに分割しました。リクエストを処理するために N 個のサービスを実行できます。
- ログインサービス
- ゲームサービス
- ルームサービス
- 等
ログイン サービスは、ロード バランサを持つことができます。次に、実行中のゲーム サービスの 1 つに要求を送信します (異なるマシンで N 個のゲーム サービスが実行されている可能性があります)。
私が理解しようとしているのは、ログイン サービスがゲーム サービスについてどのように認識できるかということです。(この時点で非常に高いレベルで) 2 つの解決策を考えることができます。
1) ゲーム サービスが起動すると、それが誰で、どこにあるかを示すレコードがデータベースに作成され、ログイン サービスはそこをチェックしてすべてのサービスを見つけます。これには問題があり、サービスがドロップされ、リストが最新の状態に保たれているようです。
2)新しいサービスが参加すると、ログインサービスに接続し(それがどのように起こるかはわかりません。それを見つける方法について何らかのハードコーディングを推測します)、そのサービスに登録します。次に、ログイン サービスは DHT またはそれらのリストを保持して、要求のルーティング先を認識できるようにします。
私は分散アプリの世界全体に不慣れで、物事を行う良い方法を見つけようとしています。このプロジェクトは、部分的には私自身の知識と利益のためのものですが、実用的なアプリに発展することを願っています.
ありがとう
java - コマンドプロンプトからRMIアプリケーションを実行する
私は、RMIを使用してファイルとその内容をJSONで読み取る(やや複雑な)アプリケーションを開発してきました。このアプリをNetbeans6.7でコーディングしているため、次のようなフォルダ構造になっています。
C:\ MyAppの下:
-建てる
- - クラス
-------MyApp<---それはパッケージです。私の.classファイルはそこにあります。また、ここからrmiregistryを実行しました。
-距離
---lib
---------[いくつかの.jarライブラリ]
-src
..。
[いくつかのファイル]
私のアプリケーションは、dist \ libsフォルダーのライブラリを使用しており、現在のディレクトリの[一部のファイル]セクションから読み取るために1つのファイルをロードします。
ただし、次を使用してアプリケーションを実行するときはいつでも(build \ classesフォルダーから)
ClassNotFoundExceptionエラーが発生し続け、RMIインターフェイスに関するエラーのリストが見つかりません。一度実行すると、読み取る必要のあるファイルが見つかりませんでした。(私のアプリでNullPointerExceptionを取得しました)。
私が間違っていることを教えてもらえますか?クラスパスに関連していると思います。
また、Netbeans自体からRMIアプリケーションを実行する方法があれば、それは素晴らしいことですが、検索中にこれを実行する方法を見つけることができませんでした。
ああ、rmiregistryが実行されています。そして、私のポリシーファイルには、単純な1行の許可Allが含まれています。
助けてください!ありがとう!
.net - マージされる分散データの一意の ID を作成する最良の方法は?
集中的にホストされたデータベース (MS SQL Server) があり、分散クライアントがインターネット経由でデータを保存しています。インターネット接続がダウンすると、クライアントは新しいデータを SQLite インスタンスにローカルに保存し始めます。インターネット接続がオンラインに戻ると、蓄積されたローカル データが中央データベースに移動されます (挿入されます)。
このシナリオで一意の ID を処理する最善の方法は何ですか? その他の重要な情報:
ローカル クライアントは、オフライン時にリンクの目的でローカル データベース ID を記憶できます。したがって、ローカル ID はグローバルに一意になるように生成する必要があります。
ローカル データベースの一意の ID は、中央データベースに再びマージされるときに変更しないでください。
デバイスに応じて、将来ローカル操作用にさまざまな種類のデータベースが選択される可能性があります。たとえば、JavaDb、TextFileDb などです。したがって、このソリューションには単一の独自のデータベース機能を使用するべきではないと思います。
- 変更が中央データベースにマージされると、すべてのレコードに一意の ID が必要になります。
この質問では、MyTable
フィールドで名前が付けられた単純なテーブルを想定しています: ID
(主/一意のキーは、どのようなタイプであってもよい) とField1
, Field2
,Field3
後者は実際には問題ではありません。
最初に頭に浮かんだのは、GUID の使用です。これよりも優れたパターンやプラクティス、またはこれを実行するためのより良い方法はありますか?
編集: Microsoft .NET と ADO.NET の使用
parallel-processing - 同じデータセットへのクエリへのストリームを処理する場合の効率的なMapReduce
大規模な静的データセットがあり、それに適用する関数があります。
fはreduce(map(f、dataset))の形式なので、MapReduceスケルトンを使用します。ただし、リクエストごとにデータを分散させたくありません(理想的には、fを高速化するためにインデックス作成を利用したいと思います)。この一般的なケースに対処するMapReduceの実装はありますか?
IterativeMapReduceを調べたところ、おそらくそれでうまくいくかもしれませんが、少し異なるケースに対処しているようで、コードはまだ利用できません。
distributed-computing - 分散プラットフォーム、コンテキスト、組み込みシステムとは?
組み込みシステムについて読んでいますが、分散プラットフォームについての話がたくさんあります。分散プラットフォームとは何かの定義を探しています。組み込みシステムが複数の接続されていない部品を制御する場合の漠然とした類似点があります。たとえば、ヘリコプターでは、テール ローターとトップ サイド ローターを制御する必要があります。 、加速度や位置などを測定します。
これは正しいです?
タイム トリガー アーキテクチャは、「分散プラットフォームで同期実行を提供する」ことになっています。
distributed-computing - 分散システムの設計を完全に台無しにしてしまった場合、どうすればよいでしょうか?
関連する質問: 集中型データベースを分割する最も効率的な方法は何ですか?
他の人に役立つように、この質問をかなり一般的なものにしようと思います。
約 3 年前に、統合された CRM と Web サイトを実装しました。私は顧客に好印象を与えたかったので、考えられる限り最も安価なアーキテクチャを実装しました。それは、中央データベースと Web サイトを Web サーバーでホストするというものでした。Web サービスを介して Web サーバーと通信するデスクトップ アプリケーションを作成しました (このアプリケーションは本社から実行されます)。
後から考えると、これはかなりばかげたことでした。会社が成長した今、彼らのインターネット接続は毎月ますます遅くなります. 現在、速度の問題により、デスクトップ ソフトウェアが定期的にタイムアウトになり、お客様には 3 つの選択肢が残されています。
- より高速なインターネット接続を購入します。
- データベース (および Web サイト) を社内サーバーに移動します。
- CRM データベースと Web データベースが分離されるようにアーキテクチャを再設計します。
最初のオプションは「最も簡単」ですが、長期的には決して安くはありません。2 番目のオプション。ウェブサイトを社内ホスティングに移行する場合、クライアントは、過負荷/貧弱/オフラインのインターネット接続、電力損失などの問題に対処する必要があります.そして最終的なオプション; クライアントは私がアーキテクチャを再設計および再コーディングするために多額の現金を支払うことを嫌がっています。
分散システムの設計をめちゃくちゃにして、どのオプションも機能しない場合から回復する方法はありますか? それとも、損失を減らし、間違いから学ぶだけですか? この問題をすぐに解決できる方法がないことを非常に残念に思います。
network-programming - 分散アプリケーションの場合、ASIO と MPI のどちらを使用しますか?
私はこれについて少し混乱しています。場合によっては並列操作を実行する可能性のある分散アプリケーションを構築している場合 (必ずしも数学的ではありませんが)、ASIO や MPI などを使用する必要がありますか? MPI は ASIO よりも高いレベルにあると思いますが、スタックのどこから始まるかは明確ではありません。
python - Ruffus パイプラインで関数を実行する前に一連のファイルを作成する必要がある
私は ruffus を使ってパイプラインを書いています。並行して何度も呼び出される関数があり、複数のファイルが作成されます。これらすべてのファイルが作成された後に呼び出される関数「combineFiles()」を作成したいと思います。これらはクラスター上で並行して実行されるため、すべてが同時に終了するわけではありません。作成する必要がある一連のファイル名を返す関数 'getFilenames()' を作成しましたが、結合ファイルが存在するまで待機させるにはどうすればよいですか?
私は次のことを試しました:
デコレータも試しました:
しかし、これも機能しません。getFilenames によって指定されたファイルが作成される前に、combineFiles は依然として誤って呼び出されます。それらのファイルがそこにあることを条件として、結合ファイルを作成するにはどうすればよいですか?
ありがとう。
hadoop - データシリアル化システムとは何ですか?
Apache AVROプロジェクトによると、「Avroはシリアル化システムです」。データシリアル化システムとは、avroが製品またはAPIであることを意味しますか?
また、データシリアル化システムとは何かについてはよくわかりません。今のところ、私の理解では、これはデータオブジェクトがネットワークを介して渡される方法を定義するプロトコルです。分散コンピューティングのバックグラウンドが限られている人が理解しやすいように、直感的な方法で説明できる人はいますか?
前もって感謝します!