當(dāng)API跨越網(wǎng)絡(luò)邊界時(shí),則會(huì)涉及到安全問(wèn)題,當(dāng)下有兩種主要解決方案: 方法一: 在協(xié)議層增加安全擴(kuò)展、在調(diào)用模型上增加認(rèn)證/訪問(wèn)控制,例如SOAP調(diào)用模式; 方法二: 協(xié)議不變,互聯(lián)網(wǎng)應(yīng)用的通用做法,在服務(wù)端增加API網(wǎng)關(guān),由網(wǎng)關(guān)負(fù)責(zé)身份驗(yàn)證及訪問(wèn)控制,例如:RESTful調(diào)用。
1.SOAP
2.RESTful
3.GraphQL
4.gRPC
5.WebSocket
6.Webhook
從API提供者、API使用者兩個(gè)角度,將其分為API生產(chǎn)階段、API消費(fèi)階段,每個(gè)階段都單獨(dú)存在,都有獨(dú)特的技術(shù)棧、問(wèn)題域。 有時(shí)候,企業(yè)使用三方API構(gòu)建特色業(yè)務(wù),然后將特色業(yè)務(wù)以API的方式提供給內(nèi)外部客戶,此時(shí)兩者在業(yè)務(wù)上是上下游關(guān)系。 有時(shí)候,企業(yè)私域API數(shù)量非常多,需要統(tǒng)一的API治理能力,此時(shí)兩者又形成交集。一般情況下,企業(yè)會(huì)以iPASS為代表的集成軟件來(lái)構(gòu)建API服務(wù)中臺(tái),優(yōu)先服務(wù)企業(yè)內(nèi)部應(yīng)用,做好治理工作,然后再通過(guò)API網(wǎng)關(guān)+API商城實(shí)現(xiàn)API的開(kāi)放、甚至API貨幣化。
以Postman為代表的API生產(chǎn)工具廠商,一般將API生產(chǎn)分為下述4個(gè)主要階段。
冪簡(jiǎn)集成將API消費(fèi)生命周期劃分為兩大環(huán)節(jié)、八個(gè)小階段。這包括API對(duì)接的發(fā)現(xiàn)、對(duì)接、聯(lián)調(diào)階段,以及API管控的采購(gòu)、發(fā)布、監(jiān)控、運(yùn)營(yíng)、治理階段。它全面提供了API的規(guī)劃、共享、治理、安全、合規(guī)等方面的業(yè)務(wù)能力,有助于確保企業(yè)數(shù)字化業(yè)務(wù)的高可靠運(yùn)行。
API集成階段:服務(wù)于項(xiàng)目立項(xiàng)到項(xiàng)目上線之前的階段,聚焦在’快速原型驗(yàn)證’、’快速變更API’。
移動(dòng)互聯(lián)網(wǎng)的興盛、SAAS業(yè)務(wù)被企業(yè)所接受等趨勢(shì)的推動(dòng)下,一些新的API理念逐步提出且為大眾所接受:
在大型的API系統(tǒng)中,我們會(huì)為同一個(gè)服務(wù)部署多個(gè)節(jié)點(diǎn), 以便服務(wù)可以支持大并發(fā)的訪問(wèn)。它們可能部署在同一個(gè)數(shù)據(jù)中心的多個(gè)節(jié)點(diǎn),或者多個(gè)數(shù)據(jù)中心中,此時(shí)需要做API路由來(lái)提升可用性。 路由方式一般有兩種:
路由策略有:
API定義:
IBM API定義
Amazon API定義
Redhat API定義
API架構(gòu): 淺談6種流行的API架構(gòu)風(fēng)格
SOAP vs REST vs GraphQL vs RPC