タオバオの技術発展レビュー(IV):Java時代の復活

タオバオの技術発展レビュー(IV):Java時代の復活

私の師匠である黄尚(@岳旭强)はかつてこう言っていました。「良い建築図は美しさに満ちている。」建築の良し悪しは、美的観点から見ることができます。その後、私は多くのシステムのアーキテクチャを調べ、この記述が基本的に真実であることがわかりました。では、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初のウェブマスターサロン純粋な実践的な共有

推薦する

「言葉にできない」tois-512m メモリ/xen/30g ハードディスク/20M 無制限/6.45 米ドル

「言葉にできない」toisLabsは2011年1月に設立され、2013年10月に運用を開始しました。...

事実に基づいた素晴らしいマーケティング:老舗の茶農家がタオバオでビデオライブストリーミングを有効活用

ニュース報道の過程でよく使われる「事実を語る」報道手法とは、記者がニュース報道の事実を慎重に選択し、...

Baidu は、あなたのウェブサイトにトロイの木馬によるセキュリティリスクがあることをお知らせします。どうすれば解決できますか?

ウェブサイトを最適化する際に、ウェブサイトにトロイの木馬が見つかるという状況に遭遇したことがあるかも...

IDC: EA SaaS市場規模は2020年上半期に13億6000万ドルに到達

IDC(International Data Corporation)は12月17日、最新の「中国パ...

MetInfo エンタープライズ ウェブサイト構築システム V6.1.1 リリース

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますソフトウェ...

Webmaster.com からの毎日のレポート: 大手企業がモバイル インターネットを独占、Baidu が 360 盗作を公証

1. 百度が360の盗作の公証を要求したと言われており、検索結果が似通っているため物議を醸しているサ...

Baiduウェブマスタープラットフォームが「ウェブ検索ホワイトペーパー」を発表 袁芳さん、どう思いますか

現在、すべての主要なウェブマスタープラットフォームは、Baiduプラットフォームが「ウェブ検索ホワイ...

Vagrant をインストールして設定するにはどうすればいいですか?

Vagrant は仮想マシン用の強力なツールです。ここでは、Ubuntu 上で Virtualbox...

ジャック・マー、アリババ再編:30社に分割し、上場に向けて3社を統合か

財経記者 宋偉アリババは、同社のエコシステムの再構築を主な目標として、大きな変革を遂げている。まず約...

王通:APPプロモーションの8つの方法

現在、モバイルアプリのアプリケーションの数は10年前のウェブサイトの数を超え、爆発的に増加し始めてい...

マルチクラウドセキュリティ戦略に取り組むには作業が必要

企業のセキュリティのベストプラクティスでは、クラウド コンピューティング環境の変化を考慮する必要があ...

クラウド コンピューティング サービスの利点、欠点、種類

クラウド コンピューティングは、現代のビジネスに柔軟性、効率性、拡張性、セキュリティ、コラボレーショ...

ウェブサイトに掲載されてから3日以内にホームページに表示されるキーワードによって引き起こされた思考

筆者は、オンラインになった日に含まれていたウェブサイトを持っており、その後頻繁にKステーションされて...

広州は小米のマーケティング「NewX」よりも熱い - 新技術、新メディア、新コンテンツのマーケティング探究

月収10万元の起業の夢を実現するミニプログラム起業支援プラン9月4日、「NewX-2018 Xiao...