ホームページ php教程 php手册 《淘宝技术这十年》之LAMP架构的网站

《淘宝技术这十年》之LAMP架构的网站

Jun 06, 2016 pm 08:12 PM
4月 lamp 建築 Webサイト

2003年4月7日,马云在杭州成立了一个神秘的组织。他叫来十位员工,要他们签了一份协议,这份协议要求他们立刻离开阿里巴巴集团,去做一个神秘的项目。这个项目要求绝对保密,老马戏称“连说梦话被老婆听到都不行,谁要是透漏出去,我将追杀到天涯海角”。这

2003年4月7日,马云在杭州成立了一个神秘的组织。他叫来十位员工,要他们签了一份协议,这份协议要求他们立刻离开阿里巴巴集团,去做一个神秘的项目。这个项目要求绝对保密,老马戏称“连说梦话被老婆听到都不行,谁要是透漏出去,我将追杀到天涯海角”。这份协议是英文版的,匆忙之间,大多数人根本来不及看懂,但出于对老马的信任,都卷起铺盖离开了阿里巴巴。

他们去了一个神秘的据点——湖畔花园小区的一套未装修的房子里,房子的主人是马云。这伙人刚进去的时候,马云给他们布置了一个任务,就是在最短的时间内做出一个个人对个人(C2C)的商品交易的网站。这里出一个问题考考大家,看你适不适合做淘宝的创业团队:亲,要是让你来做,你怎么做?

在说出这个答案之前,我们先介绍一下这个创业团队的成员:三个开发工程师(虚竹、三丰、多隆)、一个UED工程师(二当家)、三个运营工程师(小宝、阿珂、破天)、一个经理(财神),以及马云和他的秘书。

当时对整个项目组来说,压力最大的就是时间,为什么时间这么重要呢?火云邪神先生说过“天下武功无坚不破,唯快不破”,还有一个原因就是当时eBay和易趣在资本方面正打得不可开交,我们是乘虚而入的,等他们反应过来就危险了。那怎么在最短的时间内把一个网站从零开始建立起来呢?了解淘宝历史的人都知道淘宝是在2003年5月10日上线的,2003年4月7日到5月10日,这之间只有一个月时间。要是你在这个团队里,你怎么做?不是“抄一个来”,我们的答案是——“买一个来”。

买一个网站显然比作一个网站要省事,但是他们的梦想可不是做一个小网站而已,要做大,就不是随便买一个就行的,要有比较低的维护成本,要能够方便地扩展和二次开发。那么接下来就是第二个问题:买一个什么样的网站?答案是:轻量一点的,简单一点的。于是买了这样一个架构的网站:LAMP(Linux+Apache+MySQL+PHP),这个直到现在还是一个很常用的网站架构模型,其优点是:无须编译,发布快速,PHP语言功能强大,能做从页面渲染到数据访问所有的事情,而且用到的技术都是开源、免费的。当时我们是从一个美国人那里买来的一个网站系统,这个系统的名字叫做PHPAuction(其官方网站 http://www.phpauction.net,Auction即是拍卖的意思,这个名字很直白,一眼就可看出这个系统是用什么语言做的、用途是什么),PHPAuction有好几个版本,我们买的是最高版的,功能比较多,而且最重要的是对方提供了源代码。最高的版本比较贵,花了我们差不多2000美元(貌似现在降价了,只要946美元,在他们的网站上有明码标价的信息)。买来之后不是直接就能用的,需要很多本地化的修改,例如,修改一些数据类型,增加后台管理的功能,页面模板改得漂亮一点,页眉和页脚加上自己的站点简介等。其中最有技术含量的是对数据库进行了一个修改,原来是从一个数据库进行所有的读写操作,现在把它拆分成一个主库、两个从库,并且读写分离。这么做的好处有几点:存储容量增加了,有了备份,使得安全性增加了,读写分离使得读写效率得以提升(写要比读更加消耗资源,分开后互不干扰)。这样整个系统的架构就如下图所示。

其中,pear DB是一个PHP模块,负责数据访问层。另外,他们也用开源的论坛系统PHPBB( http://www.phpbbchina.com)搭建了一个小的论坛社区,在当时,论坛几乎是所有网站的标配。虚竹负责机器采购、配置、架设等,三丰和多隆负责编码,他们把交易系统和论坛系统的用户信息打通,给运营人员开发出后台管理的功能(Admin系统),把交易类型从只有拍卖这一种增加为拍卖、一口价、求购商品、海报商品(意思是还没推出的商品,先挂个海报出来,这是快速增加商品数的一个好方法)四种。(PHPAuction系统里只有拍卖的交易,Auction即拍卖的意思。@_行癫在微博中提到:今天,eBay所有的交易中,拍卖交易仍然占40%,而在中国,此种模式在淘宝几乎从一开始就未能占据优势,如今在主流的交易中几乎可以忽略不计。背后的原因一直令人费解,我大致可以给出其中一种解释,eBay基本上只在发达国家展开业务,制造业外包后,电子商务的基本群体大多只能表现为零散的个体间交易。)

在开发过程中,这个项目的代号是BMW(没错!就是宝马的意思)。这个是二当家提出的建议,二当家特别喜欢宝马,他希望我们的网站也如同宝马一样漂亮、快速、安全,充满乐趣。二当家现在的座驾就是一辆宝马X5,算是得偿所愿了。在上线的时候需要给这个网站取个名字,为了不引起eBay的注意,这个名字要撇开与阿里巴巴的关系,所以“阿里爷爷”、“阿里舅舅”之类的域名是不能用的。这时候,美女阿珂提供了一个很好听的名字“淘宝”。因为她家里有人热爱收藏古董,经常去市场上淘宝贝,而她本人也非常热爱逛街,享受“淘”的乐趣,她觉得“淘宝”两个字特别符合网站的定位(阿珂说想到这个名字的时候,脑子里一道闪电劈过,真的是“灵光一闪”。后来“支付宝”的名字也是阿珂取的)。于是这个大名就定了下来,淘宝网横空出世了。

在接下来的大半年时间里,这个网站迅速显示出了它的生机。这里有必要提一下当时的市场环境,非典(SARS)的肆虐使得大家都不敢出门,尤其是去类似商场等人多的地方。另外,在神州大地上最早出现的C2C网站易趣也正忙得不亦乐乎,2002年3月,eBay以3000万美元收购了易趣公司33%的股份,2003年6月以1.5亿美元收购了易趣公司剩余67%的股份。当时,淘宝网允许买卖双方留下联系方式,允许同城交易,整个操作过程简单轻松。而eBay是收费的,为了收取交易佣金,eBay禁止买卖双方这么做,这必然增加了交易过程的难度。而且eBay为了全球统一,把易趣原来的系统替换成了美国eBay的系统,用户体验一下全变了,操作起来非常麻烦,很多易趣的卖家在那边都混不下去了,这等于是把积累的用户拱手送给了淘宝。为了不引起eBay的注意,淘宝网在2003年里一直声称自己是一个“个人网站”。由于这个创业团队强大的市场开拓和运营能力,淘宝网的发展非常迅猛,2003年年底就吸引了注册用户23万个,每日31万个PV,从2003年5月到同年年底成交额达3371万元。这没有引起eBay的注意,却引起了阿里巴巴内部很多员工的注意,他们觉得这个网站以后会成为阿里巴巴强劲的对手,甚至有人在内网发帖,忠告管理层要警惕这个刚刚起步的网站,但管理层似乎无动于衷。(这个团队的保密工作做得真好!)

作者子柳:本名赵超,2004年加入淘宝网,取花名子柳。历任开发工程师、项目经理、产品经理、测试经 理,2009年随着淘宝系统的大规模重构和人才的迅速扩张,创办了“淘宝技术大学”,培养内外部工 程师众多,人称“校长”。2011年将培训中的内容写成文章发表,遂一发不可收拾,总结了淘宝十年 的技术之路,乃成本书。

本文节选自《淘宝技术这十年》一书,子柳著,由电子工业出版社出版。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

C言語を学べるサイトはありますか? C言語を学べるサイトはありますか? Jan 30, 2024 pm 02:38 PM

C 言語を学習するための Web サイト: 1. C Language Chinese Website; 2. Rookie Tutorial; 3. C Language Forum; 4. C Language Empire; 5. Script House; 6. Tianji.com; 7. Red and Black Alliance; 8, 51 自習ネットワーク; 9. リコウ; 10. C プログラミング。詳細な紹介: 1. C 言語中国語 Web サイトは、初心者向けの C 言語学習教材を提供することに特化した Web サイトであり、基本的な文法、ポインタ、配列、関数、構造体およびその他のモジュールを含む豊富なコンテンツが含まれています; 2. ルーキー チュートリアル、プログラミング学習などの総合サイトです。

タスク スケジューラを使用して Web サイトを開く方法 タスク スケジューラを使用して Web サイトを開く方法 Oct 02, 2023 pm 11:13 PM

毎日ほぼ同じ時間に同じ Web サイトに頻繁にアクセスしますか?これにより、日常のタスクを実行する際に、複数のブラウザー タブを開いたまま長時間を費やし、ブラウザーが乱雑になる可能性があります。では、ブラウザを手動で起動せずに開いてみてはどうでしょうか?以下に示すように、これは非常にシンプルで、サードパーティのアプリをダウンロードする必要はありません。 Web サイトを開くためにタスク スケジューラを設定するにはどうすればよいですか?キーを押し、検索ボックスに「タスク スケジューラ」と入力し、[開く] をクリックします。 Windows 右側のサイドバーで、「基本タスクの作成」オプションをクリックします。 「名前」フィールドに、開きたい Web サイトの名前を入力し、「次へ」をクリックします。次に、「トリガー」で「時間頻度」をクリックし、「次へ」をクリックします。イベントを繰り返す時間を選択し、「次へ」をクリックします。有効を選択します

Web サイトをスタンドアロンの Mac アプリに変換する方法 Web サイトをスタンドアロンの Mac アプリに変換する方法 Oct 12, 2023 pm 11:17 PM

macOS Sonoma および Safari 17 では、Web サイトを「Web アプリ」に変換できます。Web アプリは Mac のドックに常駐し、ブラウザーを開かずに他のアプリと同様にアクセスできます。それがどのように機能するかを学び続けてください。 Apple の Safari ブラウザの新しいオプションのおかげで、頻繁にアクセスするインターネット上の Web サイトを、Mac のドックに常駐していつでもアクセスできるスタンドアロンの「Web アプリ」に変えることができるようになりました。この Web アプリは、他のアプリと同様に Mission Control および Stage Manager で動作し、Launchpad または SpotlightSearch 経由で開くこともできます。あらゆるウェブサイトを次のようなものに変える方法

Spring Data JPA のアーキテクチャと動作原理は何ですか? Spring Data JPA のアーキテクチャと動作原理は何ですか? Apr 17, 2024 pm 02:48 PM

SpringDataJPA は JPA アーキテクチャに基づいており、マッピング、ORM、トランザクション管理を通じてデータベースと対話します。そのリポジトリは CRUD 操作を提供し、派生クエリによりデータベース アクセスが簡素化されます。さらに、遅延読み込みを使用して必要な場合にのみデータを取得するため、パフォーマンスが向上します。

1.3ミリ秒には1.3ミリ秒かかります。清華社の最新オープンソース モバイル ニューラル ネットワーク アーキテクチャ RepViT 1.3ミリ秒には1.3ミリ秒かかります。清華社の最新オープンソース モバイル ニューラル ネットワーク アーキテクチャ RepViT Mar 11, 2024 pm 12:07 PM

論文のアドレス: https://arxiv.org/abs/2307.09283 コードのアドレス: https://github.com/THU-MIG/RepViTRepViT は、モバイル ViT アーキテクチャで優れたパフォーマンスを発揮し、大きな利点を示します。次に、この研究の貢献を検討します。記事では、主にモデルがグローバル表現を学習できるようにするマルチヘッド セルフ アテンション モジュール (MSHA) のおかげで、軽量 ViT は一般的に視覚タスクにおいて軽量 CNN よりも優れたパフォーマンスを発揮すると述べられています。ただし、軽量 ViT と軽量 CNN のアーキテクチャの違いは十分に研究されていません。この研究では、著者らは軽量の ViT を効果的なシステムに統合しました。

Golang フレームワーク アーキテクチャの学習曲線はどれくらい急ですか? Golang フレームワーク アーキテクチャの学習曲線はどれくらい急ですか? Jun 05, 2024 pm 06:59 PM

Go フレームワーク アーキテクチャの学習曲線は、Go 言語とバックエンド開発への慣れ、選択したフレームワークの複雑さ、つまり Go 言語の基本の十分な理解によって決まります。バックエンドの開発経験があると役立ちます。フレームワークの複雑さが異なると、学習曲線も異なります。

4月発売の国内ゲームバージョン番号:『Lost Soul』『Broken Land』など95本が審査通過 4月発売の国内ゲームバージョン番号:『Lost Soul』『Broken Land』など95本が審査通過 Apr 26, 2024 pm 06:34 PM

国家新聞出版局は本日、『Broken Land』(コードネーム56)、『Lost Soul』、『英雄伝説』、『ドラゴン:カッセルの城』を含む「2024年4月国内オンラインゲームの承認情報」を発表した。ゲート』(『コードネーム:ゴールデンアイズ』)など95作品が審査を通過。最新のゲーム承認リストの中で、NetEase の新作シューティング ゲーム「Broken Land」(オリジナル プロジェクトのコードネーム「コードネーム 56」) は NetEase の Fomalhaut Studio によるもので、今年の NetEase のシューティング ゲーム分野における重量級作品とみなされています。 「Broken Land」は、中国の荒野の独特な世界観を背景に、PVEアドベンチャーシューティング体験の提供に注力しており、マルチターミナルを実現するために、iOS、Android、PCをカバーするクロスプラットフォームテストを近い将来開始する予定です。データの相互運用性。国産ARPGゲーム『LOST』

Llama3 レイヤー 1 を手動でティアリングする: llama3 を最初から実装する Llama3 レイヤー 1 を手動でティアリングする: llama3 を最初から実装する Jun 01, 2024 pm 05:45 PM

1. Llama3 のアーキテクチャ このシリーズの記事では、llama3 を最初から実装します。 Llama3 の全体的なアーキテクチャ: Llama3 のモデル パラメーターをイメージします: Llama3 モデルのこれらのパラメーターの実際の値を見てみましょう。図[1] コンテキストウィンドウ (context-window) LlaMa クラスをインスタンス化する際、変数 max_seq_len によって context-window が定義されます。クラスには他にもパラメータがありますが、このパラメータは変圧器モデルに最も直接関係しています。ここでの max_seq_len は 8K です。図[2] 語彙サイズと注意力L

See all articles