ホームページ  >  記事  >  バックエンド開発  >  Facebook はなぜ Java アーキテクチャを使用しないのですか? Java アーキテクチャを使用する場合と PHP アーキテクチャを使用する場合の利点と欠点は何ですか?

Facebook はなぜ Java アーキテクチャを使用しないのですか? Java アーキテクチャを使用する場合と PHP アーキテクチャを使用する場合の利点と欠点は何ですか?

WBOY
WBOYオリジナル
2016-06-17 08:32:091583ブラウズ

返信内容:

PHP はスクリプト言語であり、Java はコンパイル言語であるためです。
大規模なインターネット システムの中心的な問題はスケールです (拡張、特に水平方向の拡張は 1 つの言語では解決できません)。したがって、これらのシステムのアーキテクチャに焦点を当てます。 Facebook は主にコンテンツベースのシステムとメッセージング システムであり、直面する主な問題はデータ アクセスとメッセージ配信であり、これらの部分は「フロントエンド (広義)」とは関係ありません。
核心的な問題は「フロントエンド(広義)」とは直接関係なく、独立した問題だからです。そのロジックは次のとおりです:
  1. 創設者はどの言語を使用しますか? 創設者の関係ネットワークではどの言語がより頻繁に使用されますか?これら 2 つの要素がまず優先されます。
  2. スクリプト言語はテストと展開のサイクルが速く、エコロジカル チェーンがよりシンプルです。
  3. Java の JDK はロケット技術ですが、その認可は常に問題であり、技術スタック全体の選択に大きな影響を与えます。
これらの要素を考慮すると、他のスクリプト言語を使用しないことは偶然に起こる可能性があります。 Facebook レベルの企業では言語の問題が重要ではないとは言えませんが、その考慮基準は通常プロジェクトに取り組むときとは決定的に異なります。 Facebook には、PHP を言語レベルで変革できる優秀なエンジニアが多数います。また、php は Facebook の接着言語であるとも言われています。
j2ee の利点は、多数の低レベルのエンジニアが協力して、まだ使用できるシステムを開発できることです。私は実際に他の言語でプロジェクトを開発したことがないので、コメントできません。
一般的な感覚としては、Facebook のレベルにより、使用する言語を問わず開発目標を達成できるようになり、エンタープライズ レベルの開発には、j2ee または .net の方が依然として優れた選択肢となります。アジャイルにしたい場合は、php または python を使用することをお勧めします。 プロジェクトが始まったとき、作者は PHP に精通していたため、これが理由ではありませんでした。それ以外の説明は私の想像にすぎません。 1. Facebook は php を使用しています
2. Facebook はパフォーマンスを大幅に向上させる HipHop を開発しました
3. データベースの分散アーキテクチャは優れており、ユーザー ログイン検証テーブルには 2 つのフィールドしかなく、その他はすべて分割されています
4. 他にも C/C++ で行うべきことがあります

PHP 自体はインターネット開発用に登場した言語であり、Web 開発に非常に適しており、クラスライブラリが非常に豊富で、開発効率が非常に高く、実行効率も非常に優れています。
Java はもともと組み込みデバイス用に設計された言語であり、Web の開発はまだ少し面倒です。実際、ほとんどのインターネット企業は PHP を使用しています。この 2 年間で、Android 開発は Java 開発に従事する多くの人材を育成しました。

それに比べて、Java は PHP よりも保守性が高く、Java コードの可読性も PHP より優れています。 PHP はフロントエンドにインストールされ、一部の Java と C++ はバックエンドで使用されます。 FB は明らかに PHP ではありません。PHP はせいぜい単なるスキンです。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。