轉:亞馬遜如何變成 SOA(面向服務的架構)?
1、
亞馬遜公司不僅是世界最大的網路書店,還是世界最大的雲服務商。它是怎麼實現從電商到雲商的轉變呢?
一切都是CEO傑夫·貝索斯促成的,他對市場有著超乎常人的理解和預見。
2、
2000年前後,貝索斯有一次在員工大會上提到,各種辦公工具、書籍、影音製品都可以數字化,所以也意味著很容易盜版。數字產品可能會利潤越來越低,很快就不再產生任何收入了。
所有的民用工業品也都很不妙,服裝和電子消費品的消費週期越來越短。連烤爐這種東西,也沒人想要去年的型號。總之,賣這些東西,看上去也不太會賺大錢。
亞馬遜未來靠什麼賺錢,貝索斯不僅憂心忡忡。
3、
2002年,貝索斯突然向全公司釋出了一道指令。
(1)從今天起,所有的團隊都要以服務介面的方式,提供資料和各種功能。
(2)團隊之間必須透過介面來通訊。
(3)不允許任何其他形式的互操作:不允許直接連結,不允許直接讀其他團隊的資料,不允許共享記憶體,不允許任何形式的後門。唯一許可的通訊方式,就是透過網路呼叫服務。
(4)具體的實現技術不做規定,HTTP、Corba、PubSub、自定義協議皆可。
(5)所有的服務介面,必須從一開始就以可以公開作為設計導向,沒有例外。這就是說,在設計介面的時候,就預設這個介面可以對外部人員開放,沒有討價還價的餘地。
(6)不遵守上面規定,就開除。
他意識到,亞馬遜現有的賣書送書的基礎設施,其實可以變成一個非常出色、可定製的計算平臺,讓使用者付費使用。但是前提是,整個基礎設施必須改造成面向服務的架構。
4.
接下來的幾年裡,亞馬遜全公司都轉向了面向服務的架構(SOA)。這個過程中,工程師們得到了大量的經驗教訓。
教訓一:SOA架構的錯誤定位,非常麻煩。
一個請求可能要經過20次伺服器呼叫,才能找到問題的真正所在。通常,單單是問題的定位就要花費15分鐘到幾個小時,除非搭建大量的外圍監控和報警措施。
教訓二:同事也是潛在的 DOS 攻擊者。
公司內部某個小組,會突然對你的服務發起大量請求。除非每個服務都設有嚴格的用量和限量措施,否則根本無法保證可用性。
教訓三:監控和質量保障(QA)是兩回事。
監控一個服務的時候,可能會得到"一切正常"的回覆。但是很有可能,整個服務唯一還正常工作的部分,就是這個回應"一切正常"的模組。只有完整地呼叫服務,才能確定服務是正常的。
這意味著,真正監控一個服務,必須做到對所有的服務和資料進行完整的語意檢查,否則是看不出問題的。如果做到了這一點,本質上就是在做自動化 QA 了。
教訓四:必須有服務發現機制。
面對成百上千的服務時,沒有服務發現機制是不可想象的。這又離不開服務序號產生器制,而它本身也是一個服務。亞馬遜有一套統一的服務序號產生器制,可以透過程式設計的方式找到所有服務,包括一個服務有哪些API,目前是不是執行正常,在什麼位置等。
教訓五:必須有沙箱用來除錯
如果程式碼中呼叫了他人服務,查詢問題的難度要高很多,除非有統一的方式在沙箱裡執行所有服務,否則幾乎不可能進行任何除錯。
教訓六:不能信任任何人
團隊採用服務的方式進行合作以後,基本上就不能信任其他團隊了,正如不能信任第三方工程師一樣。
(完)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14710393/viewspace-2131837/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 亞馬遜如何變成 SOA(面向服務的架構)?亞馬遜架構
- 面向服務架構(SOA)的原則架構
- 說說面向服務的體系架構SOA架構
- 面向服務的整車E/E架構(SOA)開發諮詢服務架構
- 面向服務的架構架構
- 面向服務的整車E/E架構(SOA)設計開發諮詢服務架構
- 通俗地理解面向服務的架構(SOA)以及微服務之間的關係架構微服務
- SOA— 服務為導向的架構是什麼?架構
- SOA架構和微服務架構的區別架構微服務
- SOA之(3)——面向服務計算基礎
- 單體架構,SOA,微服務架構微服務
- SOA架構和微服務架構的區別是什麼?架構微服務
- 面向資料架構的雲演變架構
- 面向部件的整車E/E架構開發諮詢服務架構
- 面向模式構建系統架構 (轉)模式架構
- 單體架構&微服務架構&中臺服務架構架構微服務
- 面向軟體模組的整車E/E架構開發諮詢服務架構
- 面向構件的開發:SCA還是SOA?
- SOA之(1)——SOA架構基礎概念架構
- 網站服務架構網站架構
- 微服務架構,客戶端如何catch服務端的異常?微服務架構客戶端服務端
- 面向資料的架構架構
- 微服務架構—服務降級微服務架構
- 面向軟體模組的整車E/E架構設計開發諮詢服務架構
- ejb服務能否轉換成socket服務?
- SOA與服務化框架框架
- 分層架構和SOA架構
- 安全穩定可信賴 亞馬遜雲科技如何構建可靠的雲服務亞馬遜
- 微服務架構中的服務邊界與服務識別微服務架構
- 服務端指南 服務端概述 | 微服務架構概述服務端微服務架構
- 微服務架構中的服務發現策略微服務架構
- 面向微服務架構設計理念與實踐微服務架構
- 區塊鏈、硬體與面向服務的架構,WASM 即將迎來大爆發?區塊鏈架構ASM
- 聊聊admin服務的架構模式架構模式
- 微服務架構之「 服務註冊 」微服務架構
- 如何構建面向使用者的資料分析架構架構
- SOA 架構中的ESB是更好的應用於異構系統整合整合還是用於統一服務呼叫/基礎服務實施架構
- SOA企業服務平臺