大型網(wǎng)站為了更好的服務(wù)自己的用戶,開放更多的增值服務(wù)准谚,會(huì)把網(wǎng)站內(nèi)部的服務(wù)封裝成一些調(diào)用接口開放出去授翻,共外部的第三方開發(fā)者使用,這個(gè)提供開放接口的平臺(tái)被稱作開放平臺(tái)藤为。
開放平臺(tái)是網(wǎng)站內(nèi)部和外部交互的接口怪与,外部需要面對(duì)眾多的第三方開發(fā)者,內(nèi)部需要面對(duì)網(wǎng)站內(nèi)諸多的業(yè)務(wù)服務(wù)缅疟。雖然每個(gè)網(wǎng)站的業(yè)務(wù)場景和需求都不相同分别,但開發(fā)平臺(tái)的架構(gòu)設(shè)計(jì)卻大同小異。
API接口
是開發(fā)平臺(tái)暴露給開發(fā)者使用的一組 API存淫,其形式可以是 RESTful耘斩,WebService,RPC 等各種形式桅咆。協(xié)議轉(zhuǎn)換
將各種 API 輸入轉(zhuǎn)換成內(nèi)部服務(wù)可以識(shí)別的形式括授,并將內(nèi)部服務(wù)的返回封裝成 API 格式。安全
除了一般應(yīng)用需要的身份識(shí)別岩饼、權(quán)限控制等安全手段荚虚,開放平臺(tái)還需要分級(jí)的訪問帶寬限制,以保證資源被公平合理的使用籍茧,也保護(hù)網(wǎng)站內(nèi)部服務(wù)不會(huì)被外部應(yīng)用拖垮版述。審計(jì)
記錄第三方應(yīng)用的訪問情況并進(jìn)行監(jiān)控、計(jì)費(fèi)等硕糊。路由
將開放平臺(tái)的各種訪問路由映射到具體的內(nèi)部的服務(wù)院水。流程
將一組離散的服務(wù)組織成一個(gè)上下文相關(guān)的新服務(wù),隱藏服務(wù)細(xì)節(jié)简十,提供統(tǒng)一接口供開發(fā)者調(diào)用檬某。