淘寶從小到大的發展 - 從呱呱墜地的嬰兒到出類拔萃的青年-重讀《淘寶技術這十年》

一:前言

《淘寶技術這十年》
–子柳著,北京.電子工業出版社。

我又把這本書重新讀了一遍。
爲什麼重讀?
因爲以前讀的時候,囫圇吞棗,只是看看而已,看過了就過了,了無痕,一點思考也沒有留下。
雖然作者自稱一個“比較低階”的人員,但是也可以從一個角度看看淘寶是怎麼從一個小網站發展到當今世界最大的電子商務平臺。
這本書書名說的是技術,但是內容絕不止於技術。

淘寶,現今這個世界最大的電子商務平臺,

  • 當初它是從哪裏開始起步的?
  • 最初網站有哪些功能?
  • 它又是怎麼一步一步發展起來的?
  • 在當時的強敵易趣,ebay環視下,是怎麼突圍的?
  • 業務的發展歷程又是怎麼樣的?
  • 技術在裏面又起了怎樣的作用?
  • 技術的發展歷程又是怎麼樣的?
  • 經歷過哪些挫折、失敗、痛苦、歡笑和淚水?

… …

等等很多問題,都值得我們去探尋。

二:起步

個人網站

在2003年4月7日,馬雲從阿里巴巴集團抽調10位員工,到他的湖畔花園小區,給這10人佈置了一個任務,在最短時間內開發出一個C2C(個人對個人)的商品交易網站。

假如你是一個創業團隊,讓你來做,你怎麼做?

怎麼最快實現老闆的業務需求?

書中說:當時還有個原因,當時eBay和易趣在資本方面正打得不可開交,我們可以趁虛而入,等他們反應過來就危險了。

感想說明當時的競爭還是很殘酷的

背景交代了,那麼怎麼在最短時間內把一個網站從零開始建立起來呢?
書中說:淘寶是在2003年5月10日上線,2003年4月7日到5月10日,只用一個月時間,就上線了。

怎麼做到的呢
答案是:買一個過來。當時買了一個LAMP(Linux+Apache+MySQL+PHP)架構的網站。
這種架構模型的優點就是發佈快速,不需要編譯時間。

買一個顯然比自己做一個時間要快很多。因爲競爭時間窗在那裏,時間只有那麼點時間。時間錯過了,機會也就錯過了,不會在來。

但是光買來用,肯定不行,還要自己人能進行低成本維護,能進行二次開發,能快速發佈。因爲需求變化很快,買來的功能有些不適應發展需求,需要進行二次開發。根據業務發展,還需要增加新功能。

感想
在激烈的市場競爭環境中,一個業務的開始,考慮的一個重要因素就是:時間窗。怎麼用技術在短時間內快速的實現業務,這就涉及到了技術架構的選型,技術怎麼適應這樣的業務需求?在當時環境下選型的標準:能進行二次開發,低成本維護,快速發佈應用。當然,現在這些標準也沒有過時。現在有更多的技術理念來做這些事情,比如敏捷,微服務,DevOps等等理念。

先是業務,後面在根據業務發展需求,進行技術選型,然後進行技術開發,功能發佈。
所以說,找準業務,理解業務,也很重要,它是一個事情開局最重要的階段)

發展

發展離不開當時的環境。
當時的市場環境,非典的肆虐使得大家都不敢出門。
跟現在的新冠病毒一樣,大家都不敢出門,所以在線教育就出現了一個很好的機會。

回到當時說的非典,大家都不敢出門。所以就給在線購買商品提供了一個很好的機會。

當時的C2C網站易趣也忙得不亦樂乎。2002年3月,eBay以3000萬美元收購易趣公司23%股份,2003年6月又以1.5億美元收購易趣剩餘67%股份。

這裏說明當時淘寶的競爭壓力還是很大的,因爲淘寶當時還很小,跟大塊頭易趣,這種有強大外資的公司比起來,淘寶競爭力顯然不夠。

這裏談到了,怎麼跟大公司競爭?

競爭

淘寶怎麼跟易趣競爭的呢?

淘寶:

  • 淘寶允許買賣雙方留下聯繫方式
  • 允許同城交易
  • 整個過程操作簡單輕鬆。
  • 爲了不引起eBay注意,整個2003年,淘寶一直聲稱自己是“個人網站”。
    當然,淘寶的創業團隊市場開拓和運營能力也很強,所以淘寶網迅速發展。
  • 推廣-利用中小網站來做廣告,突圍eBay在門戶網站上對淘寶的廣告封殺,這時eBay終於看到了淘寶這個後起之秀。

eBay:

  • 它是收費的,收取交易佣金,eBay禁止雙方買賣,這必然增加交易的難度。
  • 當時eBay爲了全球統一,把易趣原來的系統替換成了美國eBay的系統,用戶體驗一下子變了,操作十分麻煩。

很多在易趣混不下去的用戶,就跑到淘寶上去了。
淘寶的快速發展,沒有引起管理層的注意。易趣內部員工在內網發帖,忠告管理層警惕這個剛剛起步的網站,但管理層似乎無動於衷。

  • 過了一段時間,eBay終於注意到了淘寶,它買斷了當時新浪、搜狐、網易的電子商務類型廣告,還簽署排他型協議。

感想: 從這裏看,eBay似乎輕視了這個競爭對手,沒有重視這個對手。也許與當時的環境有關,eBay自身太強,所以有點傲慢的樣子。)

淘寶第一版技術的發展

淘寶第一版功能:商品發佈、管理、搜索、商品詳情、出價購買、評價投訴、我的淘寶等功能。在2003年10月增肌了一個功能點:“安全交易”,這是支付寶的雛形。

隨着用戶和流量的不斷增長,服務器也由一臺變三臺,一臺負責發展Email,一臺複製運行數據庫,一天運行WebApp。
2003年7月,又把阿里巴巴中文站的搜索引擎iSearch搬過來。

但是隨着訪問量飛速上漲,問題很快出現,第一個就是數據庫。當時用的MySQL是第4版,用的MyISAM存儲引擎,這個引擎會鎖表,同步延遲等等問題。當年的這個MySQL不能和今天的MySQL比了。

三:技術升級和業務創新

小網站想變大,變大總會遇到成長的煩惱,淘寶網的工程師用什麼思路來解決問題?在解決問題之餘,又用到了哪些創新手段來超越競爭對手?

  • 數據庫從MySQL 到 Oracle
  • 支付手段創新 - 支付寶
  • 交流方式創新 - 淘寶旺旺

感想:
其實上面提到的這些技術、產品和手段都已經存在,當時最大的支付PayPal,實時交流的MSN、OICQ、Skype,也許還有名不見經傳的QQ吧,淘寶只是根據自身需求把這些技術整合到了淘寶裏面。可以叫融合或者整合能力,在整合業務上它也許是“創新”)

MySQL到Oracle

推廣運營做的廣告,帶來了就是迅速上漲的流量和交易量。到2003年底,MySQL已經撐不住了,技術替代方案非常簡單就是換Oracle。換成Oracle就是它容量大,穩定,安全,性能高,還有人才方面原因。在2003年,阿里巴巴有一羣很強大的DBA團隊。

換了就萬事大吉了嗎?

恰恰相反,換的過程中,也出現了很多問題,比如PHP和Oracle的交互怎麼更流暢,數據的存儲問題。時間到2004年春天,在數據的連接換成了SQL Relay之後就噩夢不斷,這個代理服務經常死鎖,最快的解決辦法就是“重啓”它的服務。以至於工程師們不得不24小時開着手機,一旦收到“SQL Relay進程掛起”的短信,就得打開電腦,連上機房網絡,重啓服務。
做這事最多的據說是三豐,他現在是淘寶網總裁。所以說:任何牛B的人物,都有一段苦B的經歷。

支付手段的創新 - 支付寶

“好的架構是進化來的,不是設計來的”。的確如此。還可以加上一句“好的功能是進化來的,不是設計來的。”

在架構進化過程中,業務的經過也是非常迅猛的。

業務出現的問題?

最早的時候,賣家大錢給賣家都是通過銀行轉賬匯款,有些騙子收了錢不發貨,乾脆逃之夭夭,很快很多人學會了。
出現了這個問題,該怎麼解決?
淘寶這夥人 開始研究防騙子的解決方案,他們看了PayPal的支付方式,發現不能解決。
研究了類似QQ幣的東西,想弄個“淘寶幣”出來,發現也不行。
後來幾個人把這些想法糅合起來,突然想到了“擔保交易”這種第三方託管資金的辦法。
於是2003年10月,淘寶上線了一個叫做“安全交易”的功能。

到了2012支付寶年會上,公佈的2011年的交易筆數已經是PayPal的兩倍。

這個創新,就是不斷思索的過程中的靈光乍現。

(感想
一些好的想法,都是在業務不斷髮展過程中遇到的問題,想去努力的解決這些問題,從而不斷的思考最佳解決方案,最終結果就是帶來業務上的創新。然後創新促使業務飛速發展。良性循環。
當然創新,也可能失敗,最終檢驗它的還是業務是否因此而發展。
也不能因爲失敗了就氣餒,要不斷的思考,不斷的思考,不斷的思考,不能停止思考好的解決方案)

有了一個好的想法後,怎麼才能落地?

因爲從想法到執行這個過程中,中間會遇到很多困難。

開發“安全交易”功能,必須與銀行一家一家的對接。但是銀行用到的技術五花八門,什麼技術都有,所以很辛苦繁瑣。而且銀行網關不保證用戶付錢後就一定能扣款成功,不保證扣款成功後就一定通知淘寶,也不保證通知通知淘寶後就一定能通知到,以及不保證重複通知。這導致當時淘寶技術必須每天手工覈對賬單,少一分都不能睡覺。

感想
所以從想法到落地,中間的距離也很遠,因爲你不知道這段距離中有多少困難在等着你,但是爲了讓這個想法能落地執行,必須一一的去克服中間的困難,即使歷經千辛萬苦。)

交流方式的創新 - 淘寶旺旺

商品的在線聊天,一個核心功能,就是砍價。中國的大爺大媽最喜歡乾的事情。跟淘寶競爭的eBay也許體會不到,所以一直不允許買賣雙方在線聊天,收購Skype後也沒有用到電子商務中去。

這個就是淘寶和eBay當時差異化的競爭了。

當然旺旺的開發也不是一帆風順的。

“想法到落地這個過程中,總有你意想不到的情況或者困難出現”

旺旺沒推出多久,就惹了一個法律方面的麻煩。有個做雪餅的廠家找上門,說我們侵權了。
然後我們就在旺旺前加2個字,叫“淘寶旺旺”。

剛開始旺旺很少人用,爲了支持旺旺的工作,淘寶工程師們用的IM工具僅限於旺旺。

在那個野蠻生長的階段,很多產品想到什麼救做什麼。比如,還做過一個聊天室,但是一段時間聊天室門可羅雀,就關閉了。

四:技術再次升級 - 企業級java網站

給一個網站更換語言。

爲什麼要更換? 怎麼更換才能不影響業務發展?
要解決的是什麼問題?
問題:性能、容量和成本控制。

這些問題有哪些解決方案?

淘寶網在2004年就從PHP語言換成了Java語言。

更換語言

當時情況:到2004年上半年,淘寶網運行了一年時間,也積累了大量的用戶,也開發了很多功能,當時這個網站已經很龐大,新需求也在源源不斷增加。

把一個龐大的網站換掉語言,無異於脫胎換骨,在換的過程中還不能拖慢業務的發展。

“給正在飛行的飛機換引擎”

面對這種情況,你怎麼辦?

答案:請人來換。請了Sun公司的人,創造java語言的那家公司。

世界上主流大網站普遍採用java,其中一個就是eBay。當時eBay的系統剛剛從c++改到
了Java,就是請的Sun的工程師給改造的。

現在問題是:用什麼辦法把一個龐大的網站從PHP語言遷移到Java?
而且在遷移過長中,不停服務,原來系統的bug和功能不受影響。

你是架構師,你怎麼做?

他們大致的方案就是:給業務分模塊,一個模塊一個模塊漸進式替換。
如用戶模塊,老的 member.taobao.com 繼續維護,不添加新的功能,新的功能在新的模塊
上開發,跟老的模塊共用一個數據庫,開發完畢之後放到不同的應用服務器上,另開一個域名
member1.taobao.com,同時在替換老的功能,替換一個,就把老的功能模塊上的功能關閉一個,逐漸把用戶引導到member1.taobao.com上,等所有的功能替換完之後,關閉member.taobao.com。

後面技術歷程

後面的加入小型機,分庫分表,緩存,CDN的建設,搜索的建設。

五:創造技術

用錢能解決的問題都不是問題。當你變成業內最強之後,你的問題沒人碰到過,這就意味着你自己動手解決問題。於是,淘寶走上了技術創新的道路。

這個跟華爲的發展也很相似,前面已經沒有領路人了,該超越的公司都已經超越了,西門子,洛基亞,北電網絡等等,華爲已經進入無人區了,得自己去創造技術,去尋找發展空間。

  • 淘寶文件系統 - TFS
  • 淘寶KV緩存系統 - Tair
  • 分佈式數據庫 - OceanBean
  • 負載均衡 - LVS

等等

六:分佈式電子商務操作系統

  • 服務化
  • 中間件
  • Session框架
  • 開放平臺

一個網站從小發展到大,中間經歷了很多事情,需要很多人努力, 才能發展到今天!
技術的發展,也是根據業務的發展不斷髮展,從簡單的PHP技術到後來的java技術,到MVC,到分庫分表,cdn,分佈式緩存等等。
都是一步一步發展進化來的,是從小發展到大,而不是一蹴而就的事情。是一個發展的過程。

IT人的發展也是如此,要從低級別程序員發展到資深程序員,再到架構師,或者CTO,中間要經歷哪些過程,做哪些事情,纔可以達到自己想要達到的目標。看淘寶技術這十年,網站從小發展到大,是隨着業務的不斷髮展,技術也跟着業務不斷的前進。因爲技術要適應業務的發展。對了,重點是:向前發展。而不要停滯不前。
就像人們常開玩笑說:把1年工作經驗重複了10年。
造成這種情況:
一是:溫水煮青蛙式的,自己渾然不知。
二是:坐井觀天式的,被自己眼界束縛了。
三是:得過且過式的,當然如果這是你想要的生活,也無可厚非了。
所以我們要注意上面這些情況,儘量避開它們。

From: https://www.cnblogs.com/jiujuan/p/13025386.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章