Zhihu のトピックディスカッションより: 「Facebook や Taobao など、それほど複雑に見えない多くの Web サイトの開発には、なぜ多数のトップ エキスパートが必要なのでしょうか?」 答え:タオバオで雑用をしているプログラマーのZiliu タオバオを例に、初心者に一般的な知識として伝えてみましょう。 まず、このページで最も重要な点についてお話しします。 [商品検索] - 商品が数千点ある場合は、選択などの操作を使用してこの機能を完了できます。しかし、10億個の製品がある場合、データベースにそれらを保存することはできません。どのように検索しますか? この場合、分散データ ストレージ ソリューションが必要です。さらに、この検索ではデータベースからデータを直接取得することはできません。検索エンジンを使用する必要があります (簡単に言えば、検索エンジンの方が高速です)。さて、製品を検索できるようになりました。そろそろ承認する時間でしょうか? 最初のページにどの製品が表示されるかがわかるまでには、まだしばらくかかります。これには非常に複雑なソート アルゴリズムが必要です。もし、あなたの購買行動に基づいてパーソナライズされた推奨事項を作成できれば、優秀なアルゴリズム エンジニアたちが一生をかけて努力しても十分でしょう。 [商品の詳細] - 検索を完了し、興味のあるものを見つけたら、クリックして商品ページを表示します。このページには、商品の属性、詳細な説明、レビュー、販売者情報などが記載されています。このページは、1 日に 30 億回以上表示されます。同様に、Web サイトを構築して 1 日に 10 人の訪問者がいる場合、サーバーに負荷はかかりません。しかし、30 億人の訪問者がいる場合、解決すべき問題がたくさんあります。まず、これらのリクエストはデータベースに直接押し付けることはできません。1日30億のリクエストのプレッシャーに耐えれば、スタンドアロンまたは分散型データベースは崩壊し、幸福感をすべて失います。この場合に使用されるテクノロジは、大規模な分散キャッシュです。すべての販売者情報、評価情報、製品の説明はキャッシュから取得されます。さらに極端なのは、「製品ビュー」情報で、ページを開くたびに更新する必要があります。キャッシュから取得できると思いますか? Taobaoはそれを実現しました。製品全体の詳細はキャッシュにあります。 [商品写真] - 商品には 5 枚の写真があり、商品説明にはさらに多くの写真があります。Taobao にはいくつの写真が保存されていると思いますか? 100 億枚以上です。ハード ドライブにたくさんの写真がある場合、どうやってその 1 つを見つけますか。クラスメートがあなたの写真をコピーしたい場合、何台のハード ドライブを用意する必要がありますか。どのくらいの帯域幅を構成する必要がありますか。ネットワーク カードはそれを処理できますか。彼に写真をコピーするのにどのくらいの時間がかかりますか。残念ながら、この規模に対応する市販のソリューションは市場にありません。結局、ストレージ システムを自分で開発する必要があります。Google の GFS について聞いたことがあるかもしれませんが、私たちのシステムはそれに似ており、TFS と呼ばれています。ちなみに、Tencent にも TFS と呼ばれる同様のシステムがあります。 [広告システム] - タオバオにはたくさんの広告があります。何、知らないの?それは私たちの広告がかなり良いということです。多くの人はそれを広告だとさえ思っていません。売り手はタオバオの広告スペースにどのように入札するのですか?広告はどのように表示されますか?広告の効果をどのように確認しますか?これは洗練されたアルゴリズムを備えた別のシステムです。 [BOSS システム] - タオバオのスタッフは、このような巨大なシステムをどのように管理しているのでしょうか。たとえば、ある作家の作品がすべてタオバオから消えたと突然発表された場合、データベースから検索エンジン、広告システムに至るまで、すべての関連データが数分以内に消えてしまいます。これには、素晴らしいバックエンド サポート システムが必要です。 [運用保守体制] - このような巨大な Web サイトをサポートするには、何台のサーバーが必要だと思いますか? 数千台? それはほんの一部です。多数のサーバーがある場合、どのオペレーティング システムを導入すればよいでしょうか。オペレーティング システム カーネルは最適化できますか。Java 仮想マシンは最適化できますか。通信モジュールのパフォーマンスを改善する余地はありますか。ソフトウェアを導入するにはどうすればよいでしょうか。問題が発生した場合にロールバックするにはどうすればよいでしょうか。オペレーティング システムをインストールして最適化しました。360 に騙されたり、クラッシュしたりしたことはありませんか。さまざまなトリックが関係しています。 これ以上は書きません。上記以外にも、開発が必要な技術はまだまだたくさんあります。もちろん、これらは実現不可能なものではありません。複雑で巨大なものは、小さなものから大きなものまで構築されます。素晴らしいダーベンと好奇心旺盛な新人が必要です。最後の文については、私が下心を持っていると考えていただければ結構です。 答え: 秦超、Facebookエンジニア 機能は複雑ではありませんが、完了すべき詳細が多数あります。たとえば、ニュースフィードの推奨アルゴリズムは非常に重要であり、ユーザーの過去の記録や友人との関係に基づいて生成される必要があります。さらに、最も適切な広告を選択するには、ユーザー情報と行動に基づいた機械学習とデータマイニングが必要です。これも労働集約的な作業です。 さらに、Facebook には信じられないほど多くのユーザーがいます。学校内で内部使用するためのソーシャル ネットワーキング サイトを作成するだけであれば、間違いなく簡単です。しかし、何億人もの人々がそれを使用していることを考えてみましょう。まず、サーバーは分散クラスターである必要があり、大量のトラフィックに耐えられる必要があります。同時に、パフォーマンスを向上させるために、メモリ キャッシュや Web ページ ブロックの読み込みなどの機能を追加する必要があります。もう 1 つは、ユーザーが毎日生成するデータの総量 (ステータス、メッセージ、写真、共有など) が TB オーダーであり、データベースがそれをサポートできるかどうかなどです。 さらに、背の高い木は風を引き寄せるので、攻撃を受けたときにウェブサイトが自らを防御し、スパムや不快な広告やプログラムの拡散を防ぐには、強力なセキュリティ チームが必要です。グローバル化によってもたらされた多言語化の問題もあります。 つまり、ウェブサイトが大きくなると、多くの問題が生じます。キャンパスで学期の課題をこなすほど簡単ではありません。 元のタイトル: 一見シンプルに見える Web サイトでも、開発にはトップクラスのエキスパートが必要なのはなぜでしょうか? キーワード: トップ、エキスパート、開発、ウェブサイト |
<<: サーバーホスティングとSEOについて知っておくべきこと
>>: 「ダブル11」マーケティング戦争:どの戦術が最も効果的か?
テンセントテクノロジーの羅宋は12月30日に報告した。最近、中国オンラインビデオ著作権侵害対策連盟か...
北京時間9月7日、SUSEが創設したRFO SIGが、オイラーオープンソースコミュニティの技術委員会...
virmach には 12 のデータセンターがあり、現在そのうち 4 つ (ダラス、シカゴ、バッファ...
Microsoft Hyper-V はどの Windows 10 デスクトップでもすぐに利用可能であ...
オムニチャネル環境でユーザー操作を適切に行うことは簡単ではありません。これを実現するには、消費者向け...
前回の記事「ウェブサイトに循環型エコシステムを構築し、ホームページへのランキングを安定的に誘導する(...
Altushostは2008年に設立されたヨーロッパの老舗ホスティング会社で、VPS事業を推進してい...
みなさんこんにちは。私は先週、4 つのウェブサイトを立ち上げました。これらの 4 つのウェブサイトを...
李雪玲はじめに: Li Xueling がクライアント YY を作成したのはまったくの偶然でした。 ...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています利益を生む...
最近、 WeChatミニゲームに関する新しいポリシーが継続的に導入されています。 7月末、 WeCh...
[[434468]] Redis 分散ロックの話題はよくあるようです。面接中や仕事中など、どこでも見...
再考する職場[[442904]] 1 つのフレームワークと 3 つの原則◼︎振り返ってみると、この2...
イベントの企画プロセスと注意すべき重要な要素を体系的に理解する方法が、皆様のイベント企画の助けになれ...
月収10万元の起業の夢を実現するミニプログラム起業支援プラン最適化の方法はユーザーによって異なります...