一般に、コストの問題 (大企業が手頃な価格であるはず) とは関係なく、Java はテクノロジーの点で PHP をはるかに上回っています。なぜ Baidu のホームページは JSP で書かれていないのでしょうか?リアルタイム検索は分散する必要はないのでしょうか?また、一部の結果は入力時に自動的に読み込まれます。
この本を送ってもらえますか?
この発行者をブロックしたいです。
下剤。
まず、Baidu のホームページが本当に php を使用しているかどうかを見てみましょう http://www.baidu,com/index.php は間違いなく開くことができます。 HTTP サービス ソフトウェア レベルでルーティング設定を設定すると、このアドレスは実際には静的ファイルや他の CGI 処理リソースなどの他のコンテンツに解析されます。たとえば、擬似静的実装では、HTML を php などの他の動的リソースにルーティングします。 (キャッシュを考慮すると静的リソースの場合もあります)、これだけでPHPであるかどうかを判断することはできません。
それでは、Chrome を使用して Baidu を開きます。
確認する必要がある情報は、赤で囲まれたコンテンツです。まず、Sever の値が bfe/1.0.8.14 (サーバー フィールド) に設定されていることがわかります。 http ヘッダー 通常、これは Zhihu:
Qnginx などの http サーバーの名前です。おそらく Nginx の魔法の変更だと思います。 Baidu の bfe は独自の製品であるか、nginx などのソース コードを変更している可能性があります。これについては、Baidu のホームページで使用されているサーバーを参照してください。
それではsetcookieに設定されているCookieの内容を見てみましょう。一般に、PHP 自体によって設定される Cookie には次のようなフィールドがあることがわかっています:
ただし、Baidu のフィールドを見てみましょう:
Baidu にちなんで名付けられたトークン フィールドは多数ありますが、 php に付属していますが、後で説明する多くの言語/フレームワークに付属する Cookie とは異なります。
Baidu のホームページ上のリクエストのフィールド
HPHP をもう一度見てみましょう。これは、Baidu がプロキシ
を使用しない場合、または HTTP サーバー レベルでヘッダーまたは HHVM を変更しない場合 (おそらく Baidu が勝ちます)。機密事項ではないものを自由に変更できる場合は、PHP を使用する必要があります。それでは、デフォルトのものを使用しない理由を説明しましょう (デフォルトの Cookie には PHPSESSID フィールドがあります)
session_start()
Facebook は依然として PHP で書かれており、Sina Weibo や Tencent も同様です。 Zhihu ではまだ Python を使用していますか?
タイトル投稿に掲載されている情報が正確であるかどうかは関係ありません
Baidu のホームページの PHP は結果を表示するためだけのものであり、検索エンジン自体は PHP に基づいているべきではありません
なんてクソだ。 。
Baidu の従業員として、私は真夜中にこの質問を見て、すぐに元気になりました。 。
一人は笑顔、もう一人は心の奥底で不平不満を思わずにはいられません。 。
あなたは学生ですか?あるいは、私が非常に大規模なプロジェクトに携わったことがないということもあります。大企業に行って連絡を取る機会があれば、この質問が本当に愚かであることがわかるでしょう。 。
最近会社は悪い人を採用しているので、人と議論するのが面倒なので匿名にします。
まず第一に、PHP はページのレンダリングを行うことができますが、フレームワークに取り組んだことがある場合は、この URL リクエストが分散されること、およびどこに分散されても独立して動作する余地がたくさんあることを知っているはずです。
まず第一に、中間配布はあなたが思っているほど単純ではありません。毎日何億ものリクエストがあり、さまざまなキャッシュやクラスターなどが全国に分散していることは間違いありません。
さらに、ホームページの読み込み速度を高速化するには、C最適化に変更する必要があります。
そして、入力すると、対応する検索クラスターに振り分けられます。
このコードは C++ ですが、なぜですか?自分で変えたんだから。 。
これは多くのモジュールに分かれています。 。
例えば、検索ボックスに単語を入力してからデータを取得するまでのプロセスは実にシンプルです。 。
クローラーはデータをクロールし、データに基づいてインデックスを構築します。
問題は、細部に至るまで最善を尽くすのが非常に難しいことです。
単語をより正確に分割するにはどうすればよいですか?オープンソース ライブラリを直接使用しますか?私をからかってるの?これを担当する専門チームを持つことが最善であり、より研究指向であるため、これを行うために多くの博士号と大学院生を採用する必要があります。
さて、単語が分割されたので、インデックスを取得する必要があります。
数千億の結果の中から対応するデータをミリ秒以内に見つけるにはどうすればよいですか?
その後、それらを並べ替えて、ユーザーが望む結果を返しますか?複雑に聞こえますか?
実際、これを言うのは面倒ではありません。実際、検索の 90% は単語の 10% です。
ただし、データ量が少し大きいので、インデックス全体をメモリに置くことができず、一部をハードディスクに置く必要があります。問題は、ハードディスクが遅いことです。最適化?
では、ユーザーにとって最適なものを選択するにはどうすればよいでしょうか?この戦略には多くの最適化ポイントがあり、それをうまくやれば、人々のグループを獲得できます。
これは単なる検索です。
クローラーに関して言えば、私たちが毎日クロールするデータは、一般の人々の想像を超えています。どのように効率的にクロールすれば、より信頼性の高いデータを取得側に提供できるかがわかります。
これもまた大勢の人たちによって行われています。
しかし、問題がまた起こります。データの量が大きすぎることに気づきました。このデータをどうやって保存するか?より良く管理するにはどうすればよいでしょうか?
これには多くの人手が必要というわけではありません。 。
ああ、フェンチャオ、これは毎日あなたによってハッキングされています。
お金が絡むので、様々な戦略やデータの最適化に多くのマンパワーが投入されます。
それで、あなたの質問を見ました。 。 。 。
本当に、何だ、次の超大型プロジェクトに取り掛かりましょう、という感じです。
基本的に、ある時点で自分に最適な言語があることがわかるので、それを使用してください。
Baidu は最初は数人しかいませんが、Web サイトにアクセスしてすぐに使用できるようになり、効率を考慮する必要はなくなります。バックエンドのインデックス作成では、Hadoop がなかった当初、マシンのメンテナンスに常に問題があったため、毎日数人を手動メンテナンスに派遣していました。
その後、phpが使いにくいことが分かり、最適化を考えました。
とにかく、事業が成立して、お金が儲かれば、優秀な人材が集まって頑張れば、必ず解決策を導き出せるはずです。
もちろん、さまざまなフレームワークやクラウド コンピューティングが成熟した今でも、検索エンジンは依然として技術的に要求が厳しいものですが、以前は確かに大きな技術的障壁がありました。
ウェブサイトを立ち上げるより少なくとも数十倍難しい。
しかし、言語は間違いなく最大の問題ではありません。 。
ここでまだ言語に苦労していることに気づくでしょう。それは愚かなことではありませんか?
php が提供するデータベース インターフェイスは均一ではありません。 。 。 。 。 。何年前だろう。 。 。 PDOが出たらすぐに解決しました。質問作成者が表明した意見の多くは一方的で時代遅れです。一般的に言えば、現在 WEB ビジネスでは PHP が優位に立っていますが、一般的に、php はすでに JSP と競合することができます。多くの面で。その上。 。 。 Baidu の検索エンジンが PHP だなんて誰が言ったのでしょう。 。 。
ホームページは薄皮なので、何を書いてもあまり変わりません。もちろん検索も配信されていますが、サービスとして提供されておりホームページとは何の関係もありません。一部の結果の自動読み込みについてはJSがリクエストを送信し、背景もサービスとして提供されます。バックエンド サービスについては、Baidu がどのように実装しているのかわかりません。さまざまな言語とソリューションから選択できます。自分に合ったものを選択してください。確かに Java をベースにした検索ソリューションは数多くありますが、Java なしでは実行できないという意味ではありません。 php と jsp の間にはアップグレードや置き換えの関係はありません。php が弱いと思われる理由は、中国で php を書く人の多くが弱いからです。 Facebook が hhvm より前に PHP に切り替えたとしても、毎日 10 億を超えるリクエストを簡単にサポートでき、使用されるサーバーもそれほど多くありません。具体的なデータはありませんが、当時のfbのphpスタンドアロンのqpsは3000~5000程度で、jspスタンドアロンと桁違いではなかったのではないかと推測する人もいます。私が働いている会社の 1 台の PHP サーバーのピーク パフォーマンスは約 700 qps です。これは主にコードの記述がわかりにくく、パフォーマンスが低いことが原因です。 Taobao の共有によると、一部の PHP ビジネス クラスターにおける単一マシンの QPS はわずか 200 ~ 300 です。これは、それが人間の問題であることを意味するだけです。最後に、建築に関する記事をもっと読むことをお勧めします。そのような質問に対する答えは自然に含まれています。
Baidu 検索エンジンにはホームページが 1 つしかないと思いますか?
PHPは世界で最も美しい言語です
なんと〜
上記は、JSP は大規模な Web サイトに適しているのに、なぜ Baidu のホームページは依然として PHP で書かれているのかということです。関連コンテンツの詳細については、PHP 中国語 Web サイト (www.php.cn) に注目してください。