私の師匠である黄尚(@岳旭强)はかつてこう言っていました。「良い建築図は美しさに満ちている。」建築の良し悪しは、美的観点から見ることができます。その後、私は多くのシステムのアーキテクチャを調べ、この記述が基本的に真実であることがわかりました。では、Taobao のアーキテクチャの以前の 2 つのバージョンを振り返って、どちらがより美しいと思いますか? 明らかに最初のものの方が見栄えが良かったのに対し、後者はトップヘビーに見えました。つまり、安定したバージョンではなく、半年も持たなかったということです。 2004 年の初めには、SQL リレーの問題が解決できず、データベースには Oracle を使用する必要がありました。では、どこから変更を開始すればよいのでしょうか。唯一の選択肢は、開発言語を変更することでした。どの言語に変更すればよいでしょうか? Java です。 Javaは当時最も成熟したウェブサイト開発言語であり、比較的優れたエンタープライズ開発フレームワークを備え、世界の主流の大規模ウェブサイトに広く採用されていました。また、Java開発経験者が多かったため、その後のメンテナンスコストも比較的低く抑えられました。 2004 年上半期までに、Taobao は 1 年間運営され、その 1 年間で多数のユーザーを獲得し、多くの機能を急速に開発しました。その時点で、Web サイトはすでに非常に大きく、新しい需要が継続的に寄せられていました。巨大なウェブサイトの開発言語を変更することは、完全な変革に等しいです。変更プロセス中は、ビジネス開発を遅らせることはできません。これは、実行しながら変更することと同じであり、非常に長い時間と技術的能力を必要とします。このような手術を行うには、一流の専門家を招いて手術を行わせる必要があります。さて、読者の皆さんにもう一度お聞きします。もし皆さんがこのスタートアップ チームに所属していたら、この仕事のためにどのような人材を雇いますか? 私たちの答えは、Sun から人材を雇うことです。そうです、Java 言語を作成した会社です。世界中で彼らほど Java をよく知っている人はいません。さらに、もう一つ未知の理由があります...(ここでは200語を調和させています。完全版についてはaliwayを参照してください) Sun のエンジニアたちは本当に有能です。2004 年末に私が Taobao に来たとき、彼らはまだそこにいて、数か月間彼らと一緒に働く栄誉に恵まれました。現在彼らが直面している問題は、巨大なウェブサイトを PHP から Java に移行する方法である。さらに、移行プロセス中にサービスが停止してはならず、元のシステムのバグ修正や機能改善が影響を受けてはならない。親愛なるあなた、もしあなたが建築家だったら、どうしますか?ある人の答えは、中国語を英語に翻訳するのと同じように、自動的に翻訳する翻訳機を書くことです。あなたのアイデアはあまりにも先進的、言い換えれば「単純すぎて、時にはナイーブ」だとしか言えません。当時は誰もできなかったし、今も誰もできない。彼らの基本的な計画は、ビジネスをモジュールに分割し、それらを 1 つずつ置き換えることです。たとえば、ユーザーモジュールの場合、古いmember.taobao.comは引き続き維持され、新しい機能は追加されません。新しい機能は、まず新しいモジュールで開発され、古いものと同じデータベースを共有します。開発が完了すると、それらは異なるアプリケーションクラスターに配置され、新しいドメイン名member1.taobao.comがオープンします。同時に、古い機能は置き換えられます。1つの機能を置き換えるときは、古いモジュール上の機能を1つずつ閉じ、ユーザーを徐々にmember1.taobao.comに誘導します。すべての機能が置き換えられた後、member.taobao.comは閉じられます。その後、長い間、私たちは member1 のような奇妙なドメイン名を使用していました。2 年後、別のインターネット会社が電子商取引を開始し、そのドメイン名も member1.xx.com、auction1.xx.com などと呼ばれていることがわかりました... 開発モデルの話が出たので、今度はJava MVCフレームワークについてお話します。当時はstruts1.xが最もよく使われていたフレームワークでしたが、webworkやstruts2を使ったことがある学生なら、struts1.xには複数人でのコラボレーションにおいて致命的な弱点が多いことをご存知でしょう。基盤となる軽量フレームワークがないため拡張が難しく、アーキテクトが基本機能やグローバル機能を制御することが難しいのです。 Alibaba の 18 人の創業者の中には、Jakarta Turbine をベースに多くの拡張機能を作成し、Alibaba 独自の MVC フレームワーク WebX を作成したアーキテクトがいました (http://www.openwebx.org/docs/Webx3_Guide_Book.html)。このフレームワークは拡張が容易で、コンポーネントベースの開発に便利です。ページ テンプレートは JSP と Velocity をサポートし、永続層は ibatis と Hibernate をサポートし、制御層は EJB と Spring を使用できます (Spring は後から導入されました)。プロジェクト チームは、この強力なフレームワークを選択しました。このフレームワークが当時オープン ソース化されていたら、Webwork や Struts2 は存在しなかったかもしれません。さらに、当時 Sun は世界中で EJB を積極的に宣伝していました。Taobao の設計者は、これは必要ないと考えていたものの、それでも主張し続けました。多くの技術的な議論、論争、口論を経て、このシステムのアーキテクチャは以下のようになりました。 JavaアプリケーションサーバーはWeblogic、MVCフレームワークはWebX、制御層はEJB、永続層はibatisを採用しています。また、データベースへの負荷を軽減するため、商品クエリや店舗クエリは検索エンジン上に配置しています。このアーキテクチャ図のほうが良くなったと思いますか? Taobao ウェブサイトを開発した後、Sun のエンジニアたちは「Alipay」という別の素晴らしいウェブサイトを作成しました。 実際のところ、開発言語自体がシステムのボトルネックになることはありません。ビジネスによってもたらされるプレッシャーは、データとストレージに大きく影響します。前回の記事でも触れましたが、MySQL がシステムをサポートできなくなった後、Oracle に切り替えました。Oracle のストレージは、最初はローカル マシン上にありましたが、後に NAS に移行しました。NAS がシステムをサポートできなくなったため、EMC の SAN ストレージを使用しました。その後、Oracle の RAC がシステムをサポートできなくなったため、データ ストレージにミニコンピュータを使用することを検討する必要がありました。 2004 年の夏、DBA Qigong、テスト エンジニア Guo Fu、建築家 Xingdian がミニコンピュータのテストのために北京へ出発しました。彼らがミニコンピューターを持って戻ってきたとき、私たちは彼らをリーダーのように歓迎しました。なぜなら、それは私たちの最も貴重な機器であり、価格表の数字は恐ろしいものだったからです。ミニコンピュータを購入した後、急いで一緒に写真を撮り、その後、ミニコンピュータ上で Oracle を実行しました。ストレージに関しては、EMC ローエンド cx ストレージから Sun OEM hds ハイエンド ストレージ、さらに EMC dmx ハイエンド ストレージへと、1 レベルずつジャンプアップしました。 これまで、私たちはIBMミニコンピュータ、Oracleデータベース、EMCストレージを使用してきました。これらは非常に高価で、当時は湯水のようにお金を使っていたと言ってもいいでしょう。かつて誰かがこう言いました。「お金で問題が解決できるなら、それは問題ではない。」しかし、タオバオの発展により、近い将来、お金ではもはや私たちの問題を解決できなくなります。贅沢な構成にお金をかければ、1億PVのサイトは支えられるかもしれないが、Taobaoは成長が速すぎる。10億になったらどうなるのか?100億になったらどうなるのか?N年後には、世界トップクラスのサイトだけが直面するこれらの問題を解決する技術を作らなければならない。その後、オープンソースソフトウェアをベースに独自の研究開発を行い、IOE(IBMミニコンピュータ、Oracle、EMCストレージ)を徐々に排除していきました。これはちょうど『西遊記』のようなものです。怪物は神の武器を手に入れると非常に強力になり、猿さえ倒すことができます。しかし、最も強力な神はこれらの武器を使用しません。彼らは袖を振ったり、手のひらをひっくり返したりするだけで非常に強力になります。 IOE を取り除く部分については最後の章で説明しますが、まずはここで基礎的な部分を説明します。 次に何が起こるかを知るには、次のエピソードをお待ちください。 タオバオの技術開発レビュー(第3部):Oracle/Alipay/Wangwang タオバオの技術発展の振り返り(第2部):個人ウェブサイトの時代 タオバオの技術発展レビュー(I):独身の日カーニバル 原文: http://blog.sina.com.cn/s/blog_633219970100xktb.html 原題:タオバオの技術発展レビュー(IV):Java時代の復活 キーワード: 淘宝網、インターネット技術、技術開発、開発、Java、時代、再生、変革、マスター、ウェブマスター、ウェブサイト、ウェブサイトの宣伝、金儲け |
<<: バーチボックスのウェブサイトモデルのユニークな魅力を解釈する模倣者が集まる
>>: 武漢2012 Democoffee初のウェブマスターサロン純粋な実践的な共有
12月8日、恒生銀行は「デジタルインテリジェンス、共生、未来」2022恒生金融技術カンファレンスにお...
1. 百度が2012年の年間検索ランキングを発表百度は2012年の年間検索チャートを発表した(htt...
いわゆる「ハンガーマーケティング」とは、需要と供給の関係を調整し、供給が需要を上回っているという「錯...
約1か月前に中国南東部沿岸地域を襲った超大型台風「マンクット」をまだ覚えていらっしゃるでしょうか。ニ...
ウェブサイトのダウングレードは、数え切れないほど多くのウェブマスターにとって頭痛の種であり、フラスト...
ウェブサイトのプロモーションは、長い間議論されてきたテーマです。さまざまな時期にさまざまな形式が登場...
今日は、SEOにおけるGoogleランキングの重要なポイントについてお話ししましょう。ウェブサイトの...
クラウド コンピューティングへのパラダイム シフトにより、ビジネス環境は大きく変化し、業界全体での導...
ローカルウェブサイトはどのように運営されるべきでしょうか? 多くのローカルウェブサイトが人気を博し、...
2018年、社会、経済、文化などの環境が複雑に変化する中、ブランドマーケティングも変化を遂げ、軽薄さ...
米国の独立記念日が近づいています。eleven2.com では 50% 割引のプロモーションを実施し...
ウェブサイトを設計する際、知らないうちに最適化の罠に陥ってしまうことが多々あり、それが後のウェブサイ...
1. 概要まず、Docker が市場にある唯一のコンテナ管理ソフトウェアではないことを理解する必要...
1993年に韓国CCTVが初めて紹介した韓国ドラマ「嫉妬」に始まり、「愛がなんだ」「天橋風雲」「銭湯...
現在、中国の不動産業界は混乱しており、急速に変化しています。かつては「利益の出る産業」だったが、土地...