封面php
內容簡介html
任何網站的發展都不是一蹴而就的。它在發展過程當中會遇到各類各樣的問題和業務帶來的壓力。正是這些問題和壓力推進着技術的進步和發展,而技術的發展反過來又會促進業務的更大提高。現在淘寶網的流量排名已經是全球前15名、國內前3名,其系統服務器也從一臺發展到萬臺以上。java
《淘寶技術這十年》從工程師的角度講述淘寶這個超大規模互聯網系統的成長曆程,及其全部主動和被動的技術變革的來龍去脈。書中有幕後故事、產品經驗、架構演進、技術啓蒙,也有大牛成長、業內八卦、失敗案例、勵志故事。《淘寶技術這十年》文風流暢,有技術人員特有的幽默感;內容積極正面,有現場感,所有是做者親身經歷。程序員
做者web
子柳,本名趙超,2004年加入淘寶網,取花名子柳。歷任開發攻城獅、項目經理、產品經理、測試經理,2009年隨着淘寶系統的大規模重構和人才的迅速擴張,創辦了"淘寶技術大學",培養內外部工 程師衆多,人稱"校長"。2011年將培訓中的內容寫成文章發表,遂一發不可收拾,總結了淘寶十年的技術之路,乃成本書。
數據庫
觀後感編程
「全部的進步都是不穩定的,一個問題解決了,咱們不得不面對又一個新問題。」 —— 馬丁·路德·金
緩存
全書各章都引用這個相同的名言,不斷凸顯了它的重要性。事實也確實如此,系統如此,人生亦如此。 安全
淘寶技術十年,是中國互聯網崛起的十年,也是互聯網技術發展的十年。一個偉大公司的成功,離不開天時地利人和。前輩們也有不少作電子商務,惋惜都死在了沙灘上。不是他們不厲害,只是出生的時間不對,各方面條件不成熟。服務器
淘寶的成功,有它的機緣,也有馬雲的聰明才智和努力。這本書的內容,從淘寶的創立開始, 一直講到最近的雙十一。淘寶也是從一個很小的網站開始,並且仍是買的程序搭建的,慢慢的通過改進完善,最終成爲這麼大的一個平臺。從技術上講,淘寶遇到了不少技術先河問題,這些問題沒有前車可鑑,只能靠本身去摸索解決。 這得益於淘寶有這麼多人才,其實主要仍是有強大的資金支持。
從這本書中能夠了解到不少互聯網平臺的技術,CDN、負載均衡、緩存、大文件系統、消息中間件機制、服務器架構等等。這些技術會給你一個概念及應用場景,固然不可能講的很深刻,這本書不是一本講技術專業的書,只是講隨着淘寶的發展, 淘寶網以及阿里巴巴集團技術的成長。看完後,你的感觸是,淘寶真有錢,淘寶人才真多。這麼大的平臺,沒有人才真多辦不起了,人才過重要了。
下面是書籍的目錄,及章節索引,穿插着SuperDo的一些小注解。
第0章 引言:光棍節的狂歡
淘寶網不就是一個網站嗎?是的,但淘寶網不是一個簡單的網站,它的規模排在全球前十幾名,頂尖的網站須要頂尖的技術做爲支撐。在用戶享受淘寶的樂趣的背後,有哪些神祕的技術在支撐它呢?
第1章 我的網站
建立一個小小的網站須要什麼技術?在羣敵環伺的情況下怎麼走出網站的第一步,下一步......?淘寶網獨特的文化和價值觀又是怎麼造成的?本章試圖給你一個解讀。
再補:淘寶是從一個我的網站逐漸發展成一個巨大的電子商務平臺。萬物衍於小,淘寶這個超級電商平臺,出身也是我的網站,然而在淘寶開創元勳和遠見卓識的馬雲的帶領下,從最初的LAMP簡單架構出發,一步步創建起淘寶網獨特的文化和價值觀。
第2章 我的網站的升級
小網站都想變大,變大總會遇到成長的煩惱,淘寶網的青春期有哪些煩心事?淘寶網的工程師用什麼思路來解決遇到的問題?在解決問題之餘,他們又用了哪些創新的手段來超越競爭對手?
再補:從創立之初的」我的網站」,淘寶在業務量劇增的同時要想再謀高更高層次的發展就必然要提升網站的流量和業務承載量,這就必須對網站進行全面的改進。最初我的網站是用MySQL,後來承載不了業務需求更換成了Oracle。另外淘寶的一個創新就是使用新的支付手段——支付寶,獨創國內電商的B2B溝通模式——淘寶旺旺,這些都爲淘寶的迅速發展奠基了堅實的基礎。
第3章 企業級Java網站
給一個網站更換開發語言,這種事情想一想都恐怖,淘寶網在2004年就從PHP語言轉換成了Java語言,這是怎麼作到的?一個企業級的Java系統應該採用什麼樣的架構?概括網站遇到的問題,主要是對性能、容量和成本的控制,這有哪些通用的解決方案?在技術實力獲得提高以後,淘寶網的哪些業務有了日新月異的發展?哪些業務又會遇到技術的障礙?
再補:因爲數據庫的問題,淘寶不得不更換數據庫語言(oracle),更換網站的開發語言變成了淘寶更改網站的切入點,機智的淘寶開創元勳們選擇了僱傭sun公司的攻城獅們用Java語言來開展全新的淘寶網站,由於沒人比他們更懂Java,並且,他們更懂eBay(在此以前他們用Java爲eBay重建過系統)。淘寶系統脫胎換骨,攻城獅們圍繞性能、容量和成本的優化進行了大刀闊斧的改進。
第4章 創造技術
用錢能解決的問題都不是問題,咱們花錢能夠購買更好的機器和更好的服務。但當你變成業內最強以後,你的問題就會獨特到沒有人碰到過,這就意味着你必須本身動手解決問題。幸運的是,淘寶網的發展很快,不幸的是,淘寶網遇到了史無前例的問題。因而,淘寶網被迫開始走向了技術創新的道路。而技術的創新和業務的創新到底又是誰推進了誰?
再補:「用錢能解決的問題都不是問題」用在那時已成爲國內最大電商平臺的淘寶再合適不過了,那時的商用服務器和流量業務解決方案已經不能知足淘寶發展的須要了。淘寶文件系統TFS(Taobao File System)以及淘寶KV緩存系統Tair(Taobao Pair)即是淘寶在這個成長期的創新技術,這爲淘寶解決了巨大的圖片內容存儲的難題以及網頁內容快速加載的難題。
第5章 分佈式電子商務操做系統
在飛速發展的背後,隱患已經埋下。在技術架構的制約下,團隊協做愈來愈艱難,代碼愈來愈臃腫,開發的效率愈來愈低,新業務的需求愈來愈多,老業務的壓力眼看就要超過系統的容量了。這時候,架構該作怎樣的調整?又一次的脫胎換骨,慾火重生。重生後,在分佈式的電子商務操做系統下,咱們纔敢舉辦一次又一次的「雙十一」活動。
再補:在飛速發展的背後,隱患也已埋下,系統代碼的可擴展性、可維護性、簡潔性、承載量可否知足新老業務的需求等一系列問題,系統架構須要怎麼樣改進和調整才能脫胎換骨,淘寶元勳們開創了分佈式的電子商務操做系統。拆分業務,使用中間件HSF(高性能牀架)、Notify(消息中間件)、TDDL(分佈式數據訪 問層),Session框架,開放淘寶本身的開發平臺。2011年時,淘寶的Hadoop分佈式計算機羣擁有2000多個節點,CPU:24000core,Memory:48000G,Disk:24000塊2,日承載PV量16-25億
第6章 我在淘寶這八年
做爲淘寶技術的親歷者,我不經意間見證了一段偉大的歷史,這段歷史,從高層看波瀾壯闊,從底層看妙不可言。我不是高層,這裏記錄的是發生在底層的一些事。
再補:這是做者以本身角度敘寫的他在淘寶的八年工做生涯,工做等級從P1-P5(初中高等級),再到M1,M2(管理層),而後繼續轉爲P7(專家教授級),他以一個親歷者的角度去敘寫淘寶偉大發展史的底層所發生的事情,用做者本身的說法,這段歷史很是「妙不可言」。
第7章 牛P列傳
前面講述了技術和業務是怎麼互相促進、共生髮展的。與此相似,企業和我的也是這樣一個關係:一個水平很高的人,找不到合適的平臺,就難以發揮本身的價值;一個蓬勃發展的企業,找不到合適的人才,其前景也會堪憂。幸運的是,在淘寶網蓬勃發展的過程當中,出現了一大批業內頂尖的高手,他們推進了淘寶的發展,淘寶也讓他們實現了我的的價值。接下來讓咱們一塊兒看看那些人、那些事。
再補:這是做者以採訪形式介紹淘寶牛B人物的一章,被採訪者都是在淘寶技術上有巨大貢獻的人。子柳先生喜歡說一句話「每個牛P的人都有一段苦逼的歷史」,果真牛P的人都是練出來的,實幹纔是硬道理。
技術關鍵詞
腦洞
書中話題
對於Java和C++哪一個更好?
我以爲爭論沒有意義,各有利弊吧。Java開發效率見長,C++執行效率較高。加上衆多的編程語言,其實只要精通一種即 可。就像《天龍八部》裏,大理天龍寺在天竺和尚鳩摩智計劃用《少林七十二絕技》交換天龍寺祕笈《六脈神劍》時,枯榮禪師對弟子的訓誡言猶在耳。其實各類武 功練好了都是絕世武功,因此無論Java仍是C++,抑或其餘語言,真正融會貫通後,就靠內功來比高下了。用過三年的Java,三年的Python,三年 的Matlab,六年的C++,半年的Golang下來,我以爲C++配上Golang算是一種很合乎個人一種配置。
同事想賺錢,想提高本身的職稱,怎麼看待?
作公司要賺錢,但阿里從不把賺錢做爲第一目標,咱們服務好了客戶,客戶賺了錢,咱們必定會獲得本身應得的一份。在我的成長問題上也是相似的道理,這就是,一我的若是把作事、作成事做爲主要目標,該他獲得的東西,必定會瓜熟蒂落的、水到渠成地獲得,可是,若是把上升做爲主要目標,作一樣的事,結果就會徹底不同。一句話,你的心態會最終決定你的成就。
心態決定一切。放寬心作事就好。
KPI如何看待?
微軟的研發模式比較重,流程和審覈機制很是嚴格,每一行代碼都要審覈不少遍,作事很穩,但很慢,我想這也是它在互聯網市場很難施展的一個緣由。我以爲百度其實不如淘寶重視技術,KPI導向的文化很重,各部門之間的協做和配合比較難(這一點淘寶要好很多),不一樣部門、不一樣項目的開發人員作了很多有差異但其實比較相似的東西,看起來個體效率高,但總體效率未必高,這多是百度加班很嚴重的緣由之一。
讀書,代碼,其餘時間分配?
天天讀技術方面的文章或者圖書,寫代碼的時間可能天天只有兩三個小時。每隔一段時間會去想想未來幹什麼比較好,由於寫代碼時間會過得很快,要常常跳出來想想。
人應該在不斷低頭走路的時候時常擡頭看路。
技術人員的發展,如何看待?
引用畢玄的話:若是你是向技術方向發展的人員,咱們要看技術方面的專業性;而後看你的技術對公司的業務發展有多少貢獻。還有一點,我比較看重的是,也許你不在其 位,但可以跳出本身的範圍,想到公司將來到底會面臨什麼問題,用什麼方法來解決。固然,僅想是不夠的,若是你可以落實就最好了,咱們無論你落實的技術含量有多高,關鍵是你解決了什麼樣的問題。若是你可以作到這些,你這我的對公司就很是重要。
職位等級要不要作,如何看破?
放翁:其實從P7級開始,就沒有人幫我作規劃了。技術委員會在級別P7~P9的定義中,要求P7級的人員要對一個小的產品或團隊有方向性的指導,P8級就要求在一個大部門或公司級的產品上有方向性的指導,P9級要求除了考慮自身的產品以外,還要站在公司的角度考慮自身的產品對公司的發展有什麼幫助。
一個計算機工程師該以怎樣的態度和方式來工做和學習?
多隆的一條樸素的建議或許能夠很好的解答:「發現問題,解決問題,不要繞開問題的自己;多作事情,不會吃虧,即便不是你的事情。」這大概也是多隆最大的成功祕訣吧。看似容易的原則,卻不是每一個人都能作到的。作到了,你也有但願成爲「多隆」。 始終保持對代碼的那份單純的熱愛,保持對技術的專一和鑽研;別人把工做當工做,他把工做當事業——這就是多隆的程序世界。
多隆是淘寶的第一位程序員,十分樂於幫助別人,十分熱愛編程。有機會要好好拜會一下。
人物詳介
1.正明
博士期間開發了開源LVS,2000~2006年在國防科大教書;屢次創業,作出來的產品可圈可點,但終究沒法獲得市場的承認;能作出好的產品並必定就能成功,市場推廣是門大學問
08年進淘寶,作LVS+HAproxy的普及,如今負責CDN系統的改良工做
純粹的技術人才,若是找不到互補的夥伴,加入一個大公司,也不失爲一個好的選擇
2.畢玄
06年加入淘寶,負責淘寶的高性能服務框架,著做《OSGi原理與最佳實踐》,推廣OSGi在中國的應用
看看他的每日時間分配:代碼3小時、剩下來不少時間看技術文章或圖書,每隔一段時間跳出來想一想未來幹什麼好
做爲淘寶晉升委員會的評委,他給同事們的建議是:
跳出你的位置,想一想公司到底面臨什麼問題,用什麼方法來解決?
晉升是看你對公司有哪些貢獻,而不是看你的技術有多麼牛
3.放翁
淘寶開放平臺項目負責人
在國企東方通作了4年,以後轉入阿里巴巴
放翁的入職經歷值得新人學習;在入職阿里巴巴後的初期,他乾的是雜事,負責開發web頁面之類的活;期間主動學習不歸他負責的WEB框架,並屢次修改框架bug,最終被上層發現並賞識,從而風生水起;
給新人的建議:
作事要先思考再問人,不斷打破本身的一些想法
任何一個公司,都沒法作到絕對公平,最終只會有一小部分人獲得機會; 抱怨無用,只有不斷努力,爭取機會
4.多隆
淘寶創始人之一
多隆沉浸在程序世界,不受干擾
公司郊遊回來的火車上,他在寫代碼
給工程師的建議:
發現問題,解決問題,不要繞開問題自己
多作事情,不會吃虧,即便不是你的事情
把工做當事業,多隆的程序世界
書中連接
其餘博友讀後感
本站文章爲 寶寶巴士 SD.Team 原創,轉載務必在明顯處註明:(做者官方網站: 寶寶巴士 )
轉載自【寶寶巴士SuperDo團隊】 原文連接: http://www.cnblogs.com/superdo/p/4495484.html