2016-10-02 3 views
0

多くのマシンを使用してソートを実装する予定です(分散ソート)。 私はScalaでそれをコード化します。分散システム設計に関する質問 - Scala

1 /メッセージを使用して通信できるマシンの数(これは、このような場合に実装されます)。ネットワークプログラミングに関する多くの経験がないので、皆さんに助けてください。 Scalaのクラス)? ServerSocketChannelを使用できますか?または、各マシンにTCPサーバーを構築する必要がありますか?オブジェクトメッセージをシリアライズしてシリアル化解除する必要がありますか?必要に応じて、私はそれを行うためにprotobufを使用できますか?

2 /ネットワーク経由でデータを送信するにはどうすればよいですか? java.ioまたはjava.nioを使うべきですか?

できるだけ依存性の少ないプロジェクトを構築する必要があります。 ありがとうございました。

+0

これらのほとんどの答えは、「それは依存しています」 - あなたの並べ替え、データの保存場所、ボリューム数などがマシンの数に比例します。 –

答えて

2

私は最も簡単な高レベルのメッセージングライブラリから始めます。あなたがScalaを選択したので、私はScalaを念頭に設計されたAkkaから始めます。あなたは、例えばに接続することができ、すべてのマシンと通信することができ、メッセージ

を使用して通信することができますどのように多くのマシン

インターネット全体。

必要であれば、それを行うためにprotobufを使用できますか?

私はあなたがそうする必要はないと思うが、はい。

ネットワーク経由でデータを送信するにはどうすればよいですか?

私はjava.ioやjava.nioのを使うべき私は

メッセージングライブラリを使用するのでしょうか?

メッセージングライブラリでこれらを使用する可能性がありますが、直接使用する必要はありません。

私は多くのマシン(分散ソート)を使ってソートを実装しようとしています。

既にこれを行うScala用に設計されたライブラリがあります。私はそれらの1つを使用します。スパークまたはハドープ

+0

Hadoop、Spark、Akkaの使用はお勧めしません。標準ライブラリはありますか? – hminle

関連する問題