2012-02-15 13 views
1

RabbitMQ、MongoDb、Node.Js、Hadoopなどのテクノロジーが、高可用性/スケーラビリティー/パフォーマンスを提供するためにシステムアーキテクチャーにどのように適合しているかをより深く理解したいと思います。NoSQLアーキテクチャーホワイトペーパー

誰でもこの種の情報を得るのに良い情報源を案内できますか?

EDIT

確かに、これは大きな問題ではないですが、私は明確にすべき。私は上記のスタックにある技術者の詳細を探しているわけではありません。私は彼らのそれぞれが何をしているのか理解しています。私が探しているのは、高可用性/スケーラビリティ/パフォーマンスを提供するためにどのように連携して動作するかを理解するために、メッセージキュー/ NoSQL/Map reduce/event driven langを活用するシステムの仕様です。

答えて

4

のいくつかの分析を提供します。 RabbitMQはメッセージを場所から場所へ、MongoDBは文書を、Node.JSはHTTPリクエストを、Hadoopは&のプロセスデータを格納します。これらのシステムのそれぞれには、さまざまな競合があります。

私はreal life architectures from the highscalability.com blogをチェックアウトします。私はまた、正確に "利用可能"とは何かを意味するthe CAP paperをチェックします。

+0

貧しい人々の質問に対する良い答え、私はそれらをチェックします、ありがとう。 –

2

あなたが「代わりにLAMP /ルビー/ Pythonの/ $ YourOldStackHereのはなぜ私はこれを使用する必要があります」の文脈でNodeJSへの一般的なイントロのため

を求めているように私が提案できる唯一のことはあるようだ:腕時計nodeJS videosの束、http://nodebeginner.orgを読んで、すべてを感じるための簡単なアプリケーションを開発してください。

「高可用性/スケーラビリティ/パフォーマンスを提供するためにシステムアーキテクチャにどのように適合しているか」ということは、期待通りのものです。 Nodeは高速のイベントドリブン言語を提供し、memcache/redis/mongoは、多くのSQL主導のソリューションが実際には必要としないSQLのリレーショナルアスペクトを削除し、高速化するための永続的なキー/バリューストアを提供します。

"ハイアベイラビリティ/スケーラビリティ/パフォーマンス"は、ハードウェアの技術がどのくらい速いかで決まります。速いものはよりスケーラブルで、利用可能で、実行可能です。 NodeJSは、最も速いJSエンジンであるV8上に構築されていますが、PHPなどと比べても意味がありません。私は特定の技術に焦点を当て前に、システム全体の設計に焦点を当てるあなただったら

A簡単にGoogleは確かに「$ YourStack対ノード」

+2

「速いものはスケーラビリティが高く、利用できる...」 - いいえ、速いものは利用できません。 1台の物理マシンで実行されている非常に高速なアプリは、そのマシンの電源が切れても使用できなくなります。マシンやデータセンターが死んでも、複数のデータセンターの複数のマシンで動作する非常に遅いアプリを利用できます。 –

+0

@SpikeGronimフェアポイント – Howard

+0

フェアポイント、私はそれに応じて私の質問を編集しました。 –