日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

亚马逊如何变成 SOA(面向服务的架构)?

發(fā)布時(shí)間:2023/12/4 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 亚马逊如何变成 SOA(面向服务的架构)? 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

上一篇文章,我摘錄了《程序員的吶喊》。這本書(shū)有趣的內(nèi)容太多,今天再摘錄一段。

1、

亞馬遜公司不僅是世界最大的網(wǎng)絡(luò)書(shū)店,還是世界最大的云服務(wù)商。它是怎么實(shí)現(xiàn)從電商到云商的轉(zhuǎn)變呢?

一切都是CEO杰夫·貝索斯促成的,他對(duì)市場(chǎng)有著超乎常人的理解和預(yù)見(jiàn)。

2、

2000年前后,貝索斯有一次在員工大會(huì)上提到,各種辦公工具、書(shū)籍、影音制品都可以數(shù)字化,所以也意味著很容易盜版。數(shù)字產(chǎn)品可能會(huì)利潤(rùn)越來(lái)越低,很快就不再產(chǎn)生任何收入了。

所有的民用工業(yè)品也都很不妙,服裝和電子消費(fèi)品的消費(fèi)周期越來(lái)越短。連烤爐這種東西,也沒(méi)人想要去年的型號(hào)。總之,賣這些東西,看上去也不太會(huì)賺大錢。

亞馬遜未來(lái)靠什么賺錢,貝索斯不僅憂心忡忡。

3、

2002年,貝索斯突然向全公司發(fā)布了一道指令。

(1)從今天起,所有的團(tuán)隊(duì)都要以服務(wù)接口的方式,提供數(shù)據(jù)和各種功能。

(2)團(tuán)隊(duì)之間必須通過(guò)接口來(lái)通信。

(3)不允許任何其他形式的互操作:不允許直接鏈接,不允許直接讀其他團(tuán)隊(duì)的數(shù)據(jù),不允許共享內(nèi)存,不允許任何形式的后門。唯一許可的通信方式,就是通過(guò)網(wǎng)絡(luò)調(diào)用服務(wù)。

(4)具體的實(shí)現(xiàn)技術(shù)不做規(guī)定,HTTP、Corba、PubSub、自定義協(xié)議皆可。

(5)所有的服務(wù)接口,必須從一開(kāi)始就以可以公開(kāi)作為設(shè)計(jì)導(dǎo)向,沒(méi)有例外。這就是說(shuō),在設(shè)計(jì)接口的時(shí)候,就默認(rèn)這個(gè)接口可以對(duì)外部人員開(kāi)放,沒(méi)有討價(jià)還價(jià)的余地。

(6)不遵守上面規(guī)定,就開(kāi)除。

他意識(shí)到,亞馬遜現(xiàn)有的賣書(shū)送書(shū)的基礎(chǔ)設(shè)施,其實(shí)可以變成一個(gè)非常出色、可定制的計(jì)算平臺(tái),讓用戶付費(fèi)使用。但是前提是,整個(gè)基礎(chǔ)設(shè)施必須改造成面向服務(wù)的架構(gòu)。

4.

接下來(lái)的幾年里,亞馬遜全公司都轉(zhuǎn)向了面向服務(wù)的架構(gòu)(SOA)。這個(gè)過(guò)程中,工程師們得到了大量的經(jīng)驗(yàn)教訓(xùn)。

教訓(xùn)一:SOA架構(gòu)的錯(cuò)誤定位,非常麻煩。

一個(gè)請(qǐng)求可能要經(jīng)過(guò)20次服務(wù)器調(diào)用,才能找到問(wèn)題的真正所在。通常,單單是問(wèn)題的定位就要花費(fèi)15分鐘到幾個(gè)小時(shí),除非搭建大量的外圍監(jiān)控和報(bào)警措施。

教訓(xùn)二:同事也是潛在的 DOS 攻擊者。

公司內(nèi)部某個(gè)小組,會(huì)突然對(duì)你的服務(wù)發(fā)起大量請(qǐng)求。除非每個(gè)服務(wù)都設(shè)有嚴(yán)格的用量和限量措施,否則根本無(wú)法保證可用性。

教訓(xùn)三:監(jiān)控和質(zhì)量保障(QA)是兩回事。

監(jiān)控一個(gè)服務(wù)的時(shí)候,可能會(huì)得到"一切正常"的回復(fù)。但是很有可能,整個(gè)服務(wù)唯一還正常工作的部分,就是這個(gè)回應(yīng)"一切正常"的模塊。只有完整地調(diào)用服務(wù),才能確定服務(wù)是正常的。

這意味著,真正監(jiān)控一個(gè)服務(wù),必須做到對(duì)所有的服務(wù)和數(shù)據(jù)進(jìn)行完整的語(yǔ)意檢查,否則是看不出問(wèn)題的。如果做到了這一點(diǎn),本質(zhì)上就是在做自動(dòng)化 QA 了。

教訓(xùn)四:必須有服務(wù)發(fā)現(xiàn)機(jī)制。

面對(duì)成百上千的服務(wù)時(shí),沒(méi)有服務(wù)發(fā)現(xiàn)機(jī)制是不可想象的。這又離不開(kāi)服務(wù)注冊(cè)機(jī)制,而它本身也是一個(gè)服務(wù)。亞馬遜有一套統(tǒng)一的服務(wù)注冊(cè)機(jī)制,可以通過(guò)編程的方式找到所有服務(wù),包括一個(gè)服務(wù)有哪些API,目前是不是運(yùn)行正常,在什么位置等。

教訓(xùn)五:必須有沙箱用來(lái)調(diào)試

如果代碼中調(diào)用了他人服務(wù),查找問(wèn)題的難度要高很多,除非有統(tǒng)一的方式在沙箱里運(yùn)行所有服務(wù),否則幾乎不可能進(jìn)行任何調(diào)試。

教訓(xùn)六:不能信任任何人

團(tuán)隊(duì)采用服務(wù)的方式進(jìn)行合作以后,基本上就不能信任其他團(tuán)隊(duì)了,正如不能信任第三方工程師一樣。

原文地址:http://www.ruanyifeng.com/blog/2016/09/how_amazon_take_soa.html


.NET社區(qū)新聞,深度好文,微信中搜索dotNET跨平臺(tái)或掃描二維碼關(guān)注

總結(jié)

以上是生活随笔為你收集整理的亚马逊如何变成 SOA(面向服务的架构)?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。