1. 程式人生 > >[讀書筆記]《淘寶技術這十年》

[讀書筆記]《淘寶技術這十年》

一個 nbsp 訪問量 apr 即使 讓我 項目 tair 消息訂閱

摘錄自:http://www.cnblogs.com/me115/p/3545054.html

內容目錄:

  • 淘寶的升級路線
  • 淘寶創新的技術
  • 從牛人身上看到的

技術分享

這本書很有趣,故事敘述好玩,且價值頗高;
它讓更多人了解並熟悉淘寶,讓我們近距離觀察大公司成長過程中遇到的問題;

我將從三個方面來做這個概要版的讀書筆記;

淘寶的升級路線敘述了淘寶的成長路線,如果能引起大家的興趣,那最好,書中有詳實有味的數據供人品味;

淘寶創新的技術一節總結淘寶在壯大的道路中所創造的技術,其實很多在我們的日常應用中都能找到影子,所不同的是能夠支撐的規模;

最後一節出自這本書的最後一章,牛P列傳;本書的作者采訪了淘寶中的牛人,道出他們的成長經歷,同時也能看到這些高人對新人的建議;

豆瓣評分7.4分,我給4星;

淘寶的升級路線

2003 年 4 月 7 日,馬雲,在杭州,成立了一個神秘的組織。
為了在最短的時間做出一個網站來,為了和時間賽跑,淘寶的第一版源代碼直接從國外買來,架構為LAMP(Linux+Apache+MySQL+PHP);買來之後做了些本地化的修改,對數據庫進行讀寫分離,一個月之後上線,兵貴神速。

最初上線的淘寶只有一臺服務器,隨著訪問量的增加,將數據庫服務器獨立出來,同時,增加一臺Email服務器;商品檢索功能最初的實現就是使用sql中的like搜索,對數據庫資源消耗嚴重,最快的改進招數就是找老爹要,使用阿裏巴巴的iSearch模塊替換like方式;

在 2003 年底,MySQL 已經撐不住了,技術的替代方案非常簡單,就是換成 Oracle。換 Oracle 的原因除了它容量大、穩定、安全、性能高之外,還有人才方面的原因。在 2003 年的時候,阿裏巴巴已經有一支很強大的 DBA 團隊。其中,ACE人才就有4名;

到 2004 年上半年,淘寶決定更換開發語言,將PHP更改為JAVA;

到07年,淘寶已經用上了 IBM 的小型機、Oracle 的數據庫、EMC 的存儲,這些東西都是很貴的,那些年可以說是花錢如流水。有人說過“錢能解決的問題,就不是問題”,但隨著淘寶網的發展,不久以後,錢已經解決不了問題。

07年之後,淘寶就開始了真正的壯大之路,走上了創造技術的大道;
07年之前,圖片存儲使用的是NetAPP的文件存儲系統,但未對小文件存儲進行有針對的優化 ,且擴容成本高昂,網絡連接數經常達到極限;在這種背景下,淘寶研發了TFS(淘寶文件系統);2007 年 6 月,TFS 正式上線運營。在生產環境中應用的集群規模達到了 200 臺 PC Server(146G*6 SAS 15K Raid5),文件數量達到上億級別;系統部署存儲容量:140TB;實際使用存儲容量: 50TB;單臺支持隨機IOPS200+,流量 3MBps。

淘寶創新的技術

簡單總結下淘寶創造了哪些技術:

TFS

淘寶文件系統,上述已說明;

Tair:淘寶KV緩存系統

04年多隆基於BerkeleyDB開發了TBstore,一個key-value的緩存系統;
07年,多隆參考memcache內存結構,為UIC開發了TDBM,另一個緩存系統;
之後合並這兩個緩存,並在此基礎上進一步擴展,開發出Tair,底層支持5種存儲引擎(BerkeleyDB、Redis,TT、fDB、memcache)
目前,Tair已開源;

HSF:高性能服務框架

一個分布式PRC框架,用於系統間調用
service定於基於OSGI方式,通訊層采用TCP/IP協議

Notify:消息中間件

分布式消息中間件,用於替代MQ
支持消息訂閱、發布和消費

TDDL:淘寶分布式數據訪問層

數據訪問路由,使得數據訪問對應用層的開發透明,一個表的數據可以分布在多臺結點上,而應用的編碼同操作單節點DB一樣;
支持一次寫入,多點讀取
數據存儲的自由擴展, 不再受限單機容量和速度瓶頸

TbSession框架

Session客戶端存儲,session存到cookie中
實現分布式環境下的session服務器端存儲
session配置統一管理
支持動態更新

從牛人身上看到的

(以下均是花名,淘寶特色)

正明

博士期間開發了開源LVS,2000~2006年在國防科大教書;多次創業,做出來的產品可圈可點,但終究無法得到市場的認可;能做出好的產品並一定就能成功,市場推廣是門大學問;
08年進淘寶,做LVS+HAproxy的普及,現在負責CDN系統的改良工作 ;
純粹的技術人才,如果找不到互補的夥伴,加入一個大公司,也不失為一個好的選擇;

畢玄

06年加入淘寶,負責淘寶的高性能服務框架,著作《OSGi原理與最佳實踐》,推廣OSGi在中國的應用;
看看他的每日時間分配:代碼3小時、剩下來很多時間看技術文章或圖書,每隔一段時間跳出來想想將來幹什麽好;
作為淘寶晉升委員會的評委,他給同事們的建議是:
跳出你的位置,想想公司到底面臨什麽問題,用什麽方法來解決?
晉升是看你對公司有哪些貢獻,而不是看你的技術有多麽牛;

放翁

淘寶開放平臺項目負責人
職業經歷
在國企東方通做了4年,之後轉入阿裏巴巴;
放翁的入職經歷值得新人學習;在入職阿裏巴巴後的初期,他幹的是瑣事,負責開發web頁面之類的活;期間主動學習不歸他負責的WEB框架,並多次修改框架bug,最終被上層發現並賞識,從而風生水起;
他新人的建議:
做事要先思考再問人,不斷打破自己的一些想法 ;
任何一個公司,都無法做到絕對公平,最終只會有一小部分人得到機會; 抱怨無用,只有不斷努力,爭取機會;

多隆

淘寶創始人之一
多隆沈浸在程序世界,不受幹擾;
公司郊遊回來的火車上,他在寫代碼
給工程師的建議
發現問題,解決問題,不要繞開問題本身
多做事情,不會吃虧,即使不是你的事情
把工作當事業,多隆的程序世界

附上思維導圖筆記(點擊放大):

技術分享

[讀書筆記]《淘寶技術這十年》