文/刁毅剛
開放API服務(wù)是指將網(wǎng)絡(luò)服務(wù)能力(如內(nèi)容資源、應(yīng)用資源和社交關(guān)系資源)用數(shù)據(jù)接口封裝并開放給第三方開發(fā)者調(diào)用的過程,即Open API(Open Application Programming Interface)。與ICT領(lǐng)域中API的傳統(tǒng)定義不同的是,Open API是以使用者為中心的,其應(yīng)用模式是借助廣大的第三方力量不斷豐富和完善應(yīng)用,進(jìn)而提高用戶黏性,提升用戶的參與度和耦合度,從而逐漸構(gòu)建起一個應(yīng)用生態(tài)。2005 年,美國的谷歌公司首先開放地圖API,此后,各類Open API 如雨后春筍般出現(xiàn),主要包括搜索類(Google Search API、Yahoo Search API 等)、文字咨詢類(Google Reader、抓蝦、鮮果等)、多媒體類(Flickr、Youtube等)、地理信息類(Google Earth、Google Maps 等)、用戶關(guān)系類(Open Social、Facebook、MySpace等系列API)、電子商務(wù)類(Amazon、淘寶系列開放API)等等。
當(dāng)前,API成為IT業(yè)務(wù)能力對外暴露接口和資產(chǎn)變現(xiàn)的普遍應(yīng)用模式,知名IT咨詢機(jī)構(gòu)Gartner指出:2019年有70%的B2B商業(yè)合作通過API完成,API將成為未來或數(shù)據(jù)、軟件等數(shù)字化資產(chǎn)的中要呈現(xiàn)和使用方式。IDG(美國國際數(shù)據(jù)集團(tuán))指出:互聯(lián)網(wǎng)已經(jīng)證明了API可以加快創(chuàng)新,利用API開發(fā)者可以幾天實(shí)現(xiàn)一個想法,然后快速規(guī)?;蛘咛蕴簟I(yè)界評論指出,ICT產(chǎn)業(yè)中大魚吃小蝦的時代已經(jīng)過去,當(dāng)代是快魚吃慢魚的時代,速度是決定ICT公司成敗的唯一重要因素,“API經(jīng)濟(jì)”模式順應(yīng)時代大潮,以其高效率、高效能、靈活的商業(yè)模式為企業(yè)創(chuàng)造價(jià)值。
圖1 API經(jīng)濟(jì)模式
當(dāng)前,API經(jīng)濟(jì)已成為一種全新的商業(yè)模式。企業(yè)在發(fā)展過程中,會積累一定業(yè)務(wù)能力或者沉淀一些有價(jià)值數(shù)據(jù),在不涉密的前提下,將這些能力或者數(shù)據(jù)API化,有償提供給其它企業(yè)使用,將增加企業(yè)營收并有望形成一項(xiàng)全新的業(yè)務(wù)線。近年來,API已經(jīng)成為聯(lián)結(jié)企業(yè)資源的利器, API在新的商業(yè)模式構(gòu)建中得到大規(guī)模的運(yùn)用。企業(yè)為多個外部使用單位或第三方提供標(biāo)準(zhǔn)化的 API,一個外部單位可以組合多個API以便豐富服務(wù)內(nèi)容,這些開放API加速了合作伙伴整合效率以及客戶觸達(dá)率,衍生了多種 API生態(tài)系統(tǒng),與客戶共創(chuàng)新的發(fā)展模式。
IDC發(fā)布的2018中國ICT市場預(yù)測中指出:“到2021年,在超過一半的全球 2000 強(qiáng)企業(yè)中,平均 1/3的數(shù)字化服務(wù)交互都將來自 API 開放生態(tài)系統(tǒng),增長勢頭遠(yuǎn)超過其自身客戶的交互能力。中國的市場也將如此,開放API生態(tài)系統(tǒng)是企業(yè)數(shù)字化平臺開放重構(gòu)的關(guān)鍵?!?018年1月13日,歐盟正式生效推行的歐盟支付服務(wù)修訂法案第二版規(guī)定,銀行業(yè)在客戶授權(quán)下必須通過Open API的方式開放銀行資料給第三方使用。另外,澳洲、印度同樣立法開放金融支付基礎(chǔ)設(shè)施。全球的API經(jīng)濟(jì)成為驅(qū)動各行業(yè)數(shù)字變革的主要力量,據(jù)數(shù)字經(jīng)濟(jì)咨詢機(jī)構(gòu)創(chuàng)略科技預(yù)測,API經(jīng)濟(jì)幫助企業(yè)實(shí)現(xiàn)轉(zhuǎn)型、圍繞現(xiàn)有產(chǎn)品打造新的生態(tài)系統(tǒng),變現(xiàn)核心資本、服務(wù)和產(chǎn)品。截至2018年,預(yù)計(jì)API經(jīng)濟(jì)將成為一個2.2萬億美元規(guī)模的全球市場。開放API已經(jīng)是行業(yè)的大勢所趨,企業(yè)已無可回避,必須做好應(yīng)對準(zhǔn)備。
為了促進(jìn)與附屬公司合作關(guān)系的發(fā)展,全球最大的在線旅游預(yù)訂公司Expedia創(chuàng)建了Expedia Affiliate Network (EAN),開放了功能豐富的API,旨在提升網(wǎng)站流量,實(shí)現(xiàn)更高的客戶轉(zhuǎn)換率,為合作伙伴(包括航空公司和旅行社) 提供更高的訂單價(jià)值。開放API支持客戶直接在第三方網(wǎng)站和移動應(yīng)用上訪問酒店的預(yù)訂情況、照片、搜索結(jié)果和用戶評價(jià)。目前,API帶來的收入占 Expedia 總收入的 90%,此外還引入更多流量從而產(chǎn)生新的收入來源。
在ICT行業(yè)的眾多熱門領(lǐng)域中,如數(shù)字化轉(zhuǎn)型、云計(jì)算(尤其是混合云)、人工智能 (AI)、區(qū)塊鏈、物聯(lián)網(wǎng)、微服務(wù)架構(gòu)等,都涉及開放API的運(yùn)用。近年來,各國政府逐漸將API作為一種開展協(xié)作,推動行業(yè)和社會治理創(chuàng)新的標(biāo)準(zhǔn)化方法,如:歐盟委員會制定了名為“Payment Services Directive 2(PSD2)”的新標(biāo)準(zhǔn),要求歐盟地區(qū)的銀行通過值得信任的第三方支持對賬戶信息的訪問。美國聯(lián)邦總務(wù)署(GSA)發(fā)布了一系列API 標(biāo)準(zhǔn),在服務(wù)質(zhì)量保持一致的前提下,推動開放數(shù)據(jù)計(jì)劃,同時促進(jìn)社會治理創(chuàng)新。制定這些標(biāo)準(zhǔn)的目的是推廣政府API;英國政府提出了有關(guān) API 標(biāo)準(zhǔn)的建議,旨在推動創(chuàng)新和 API 經(jīng)濟(jì);新加坡政府利用API構(gòu)建了一個通用用戶互動層,以便隱藏不同機(jī)構(gòu),減少定位機(jī)構(gòu)的復(fù)雜性;巴西政府也在推廣API的使用,以便推行開放數(shù)據(jù)計(jì)劃。API 支持的創(chuàng)新小到改進(jìn)內(nèi)部流程,大到開創(chuàng)全新市場;開放API后,業(yè)務(wù)模式的創(chuàng)新會帶來多方面的改善,如提高流程效率、節(jié)省成本以及創(chuàng)造新的收入流。
在部署了API的智能汽車中,駕駛者可以實(shí)時訪問診斷功能、位置信息以及增強(qiáng)型功能,汽車制造商利用API 將汽車連接到移動平臺,為駕駛者提供數(shù)字鑰匙和車輛共享功能,為開發(fā)人員提供停車場和導(dǎo)航信息的有效連接,從而方便駕駛者輕松定位停車位并支付費(fèi)用。
圖2 API服務(wù)市場
當(dāng)前,“API經(jīng)濟(jì)”已經(jīng)從其發(fā)展的概念導(dǎo)入期進(jìn)入實(shí)際落地階段。許多API 項(xiàng)目正在加速推進(jìn)實(shí)施,行業(yè)生態(tài)系統(tǒng)正在形成,某些領(lǐng)域與開放API 相關(guān)的監(jiān)管要求和行業(yè)標(biāo)準(zhǔn)即將出臺。當(dāng)代的企業(yè)不部署開放API生態(tài)系統(tǒng),如同上個世紀(jì)的90 年代不部署企業(yè)網(wǎng)站一樣,其后果是不堪設(shè)想的。
媒體機(jī)構(gòu)運(yùn)用開放API技術(shù),重新構(gòu)建和組織內(nèi)部系統(tǒng)并通過特定的模式——降低運(yùn)維費(fèi)用并增加機(jī)構(gòu)應(yīng)對市場的敏捷性,支撐創(chuàng)新項(xiàng)目。這些運(yùn)用API的新聞機(jī)構(gòu)認(rèn)為API不僅僅用于實(shí)時分發(fā)訂制內(nèi)容的場景,對于那些試圖以機(jī)器產(chǎn)生內(nèi)容和新渠道以提升客戶觸達(dá)率、構(gòu)建合作關(guān)系機(jī)構(gòu)而言,開放API愈發(fā)成為一項(xiàng)基礎(chǔ)技術(shù)。國外新聞機(jī)構(gòu)運(yùn)用Open API時,由于尚處于探索并在領(lǐng)域內(nèi)鞏固商業(yè)模式階段,并不遵循統(tǒng)一的策略。在數(shù)字環(huán)境下,這些媒體機(jī)構(gòu)對數(shù)字媒體發(fā)展提供智力支撐并應(yīng)對挑戰(zhàn)時遵循了不同的路徑,依據(jù)API商業(yè)模式以及應(yīng)用途徑的不同,筆者擬對幾家新聞機(jī)構(gòu)的開放API策略進(jìn)行介紹:紐約時報(bào)模式、衛(wèi)報(bào)模式、美國國家公共電臺模式以及ESPN模式。
在移動互聯(lián)網(wǎng)時代,內(nèi)容生產(chǎn)者紛紛尋求觸達(dá)受眾和用戶的全新方法。應(yīng)用開放API開拓觸達(dá)新的客戶途徑、創(chuàng)造新的利潤,以及與大企業(yè)、創(chuàng)業(yè)公司和具有技術(shù)能力的個人構(gòu)建新的合作關(guān)系成為可能。在過去的幾十年中,軟件產(chǎn)業(yè)已經(jīng)進(jìn)化,創(chuàng)造了通過不同聯(lián)網(wǎng)數(shù)字設(shè)備新的消費(fèi)新聞內(nèi)容的機(jī)會。在自動化、信息分發(fā)進(jìn)程以及事務(wù)和分配中?!伴_放API可以激勵一種Remix(混音)文化,這種對話將導(dǎo)致一個允許和支持全新連接和各種跨行業(yè)對話在社會中流行”。
紐約時報(bào)開放了作為新聞信息源頭的13個API 調(diào)用,包括:Archive_API(資料API),紐約時報(bào)1851年到現(xiàn)在的所有數(shù)據(jù),提供按月檢索;Article_Search(文章檢索API),從1851年到今天,提供文章的標(biāo)題、摘要、導(dǎo)語等元數(shù)據(jù)的檢索功能;Books_API(紐約時報(bào)書訊 API),提供市場暢銷書信息;Community_API:獲取讀者對紐約時報(bào)文章的評論;Geo_API:獲取紐約時報(bào)文章鏈接數(shù)據(jù)中的地理信息;Most_Popular_API:獲取最流行、轉(zhuǎn)發(fā)最多的文章;Movie_Reviews:獲取電影評論的API;Semantic_API:獲取稿件中的實(shí)體標(biāo)簽;TimesWire:獲取最新稿件的元數(shù)據(jù);Times_Tags:挖掘與搜索請求匹配的標(biāo)準(zhǔn)詞匯集,經(jīng)紐約時報(bào)的受控詞表過濾;Top_Stories:獲取頭條新聞列表。
紐約時報(bào)是世界上第一家制訂API策略的在線新聞報(bào)紙。紐約時報(bào)API發(fā)布后,迅速成為移動開發(fā)市場新項(xiàng)目的優(yōu)良數(shù)據(jù)源。紐約時報(bào)運(yùn)用社群和社交媒體等推廣手段發(fā)展更多的數(shù)字媒體訂戶,新聞產(chǎn)品的多樣化以及NYT Cooking、NYT Estate等移動應(yīng)用的成功刺激了數(shù)字訂戶端的閱讀需求。開發(fā)者使用Freebase技術(shù)以及Best_Seller API開發(fā)的APP可以獲取關(guān)于書和作者的瀏覽時報(bào)最佳銷售清單;應(yīng)用Article Search API開發(fā)的“We read, We tweet”連接了 Twitter API、BackTweets API、Google Maps API;一個為 Windows Phone7 開發(fā)的電影評論APP,應(yīng)用了Movie_Review API以及微軟的Silverlight技術(shù),為Web和移動端創(chuàng)建迷人的用戶交互體驗(yàn)。在一個擁有炫酷界面的應(yīng)用Nooblast中應(yīng)用了Times_Newswire API,成為實(shí)時新聞數(shù)據(jù)可視化的良好案例。
NPR的API連接其媒資數(shù)據(jù)庫,包括新聞、圖片、音頻以及NPR.org及其子站擁有的各類數(shù)字資產(chǎn)。從時下上溯到1995年的全部NPR節(jié)目,具有新聞故事、圖片,以及其它Web格式的內(nèi)容以及屬于5,000個不同聚類、數(shù)量達(dá)到250,000條新聞的資料庫。依據(jù)NPR官方的介紹,當(dāng)NPR內(nèi)容以API形式推送時,主要通過三種辦法進(jìn)行分發(fā):(1)一次生成,到處發(fā)布,NPR.org將內(nèi)容推送到API之后再發(fā)布到其它平臺,例如其它網(wǎng)站和APP;(2)內(nèi)容在不同的站點(diǎn)之間被分享,如NPR網(wǎng)站和APP;(3)直接服務(wù)NPR.org和APP的數(shù)字資產(chǎn)。
NPR站點(diǎn)發(fā)布的Widget可以迅速瀏覽NPR的最新音樂,一個名為Simile Timeline的工具允許用戶在時間軸上瀏覽NPR新聞。據(jù)這款產(chǎn)品的制作者說,時間軸是運(yùn)用開源技術(shù)開發(fā)的,主要依靠MIT(麻省理工學(xué)院)發(fā)布的一個JavaScript程序連接NPR API。NPR的主力API是Story API,這是一個與GitHub合作的開源工程。
NPR的Story API成為NPR發(fā)布的第一個以及最常用的API??梢垣@得NPR中的廣播節(jié)目以及整個網(wǎng)站的內(nèi)容,Story API是一個可以將NPR的節(jié)目發(fā)送到移動設(shè)備上的重要機(jī)器(Workhorse)、鏈接汽車以及成員網(wǎng)站。這個系統(tǒng)允許通往stations和NPR.org所發(fā)布內(nèi)容的網(wǎng)關(guān)。
NPR內(nèi)容API可以訪問的新聞主題如下:音樂體裁、節(jié)目、Personality、Bios等等。NPR通過運(yùn)用Story API持續(xù)擴(kuò)大國家的影響力,包括發(fā)布國家大事、解釋本地政策、為公民提供公共政策選擇建議等新聞報(bào)道。這種技術(shù)連接允許報(bào)道者可以實(shí)時地分享其工作,通過采編平臺提供給Story API。
NPR允許入駐WordPress網(wǎng)站(一家以強(qiáng)大的插件和模板知名的開源博客網(wǎng)站)上的所有博客通過其Story API訪問其全部數(shù)據(jù),并允許內(nèi)容制作者使用API的推送功能。2013年,NPR宣布該組織開發(fā)的插件可以通過API訪問任意的WordPress博客,允許站點(diǎn)與NPR API通過對插件的簡單配置之后進(jìn)行互動。NPR的報(bào)道可以通過WordPress的發(fā)布中獲取并保存報(bào)道元數(shù)據(jù)。此外,WordPress管理者可以通過NPR提供的工具建立自動和定制的查詢API并實(shí)時更新博客。例如,發(fā)起一個獲取頭條內(nèi)容的查詢和推送請求,或者是由用戶針對NPR以及其它站點(diǎn)的定制查詢。當(dāng)進(jìn)行內(nèi)容推送時,WordPress的編輯可以通過NPR API推送由本地博客發(fā)布、其它的博客站點(diǎn)所需要的內(nèi)容,完美地使用插件從WordPress中傳輸內(nèi)容和元數(shù)據(jù)。在實(shí)施過程中,只需要提前拿到一個API Key,開發(fā)者可以容易地通過配置Staging Server上的插件調(diào)用NPR API,。NPR建議開發(fā)者使用Google Fusion Map,Google SpreadSheet, Google Charts以及Scribd等工具,通過調(diào)用其開放API創(chuàng)作數(shù)據(jù)新聞。
衛(wèi)報(bào)API是一個有趣的數(shù)據(jù)新聞嘗試,在其公布的指導(dǎo)手冊中,衛(wèi)報(bào) API的用戶可以在衛(wèi)報(bào)中使用免費(fèi)工具制作數(shù)據(jù)新聞。這些技術(shù)包括Google Fusion Tables,Many eyes以及Timetric。在數(shù)據(jù)博客和數(shù)據(jù)商店中, 衛(wèi)報(bào)向所有用戶提供了對其內(nèi)容中數(shù)據(jù)的使用權(quán)限。這些文件可以被Google SpreadSheet下載或可視化。其它被用于內(nèi)容可視化的諸如Flash的技術(shù),見諸如下交互的示 例:“Election Map and Swingometer”、“Government spending: What happen to our money” 。衛(wèi)報(bào)開放的Politic API具備提供一系列關(guān)于參選政客的個人信息的功能,并通過Json格式進(jìn)行交換。衛(wèi)報(bào)的Sdk機(jī)制使得用戶可以將其應(yīng)用被衛(wèi)報(bào)輕松集成。衛(wèi)報(bào)的合作者可以使用應(yīng)用程序框架為衛(wèi)報(bào)的用戶提供內(nèi)容、數(shù)據(jù)等服務(wù)。
衛(wèi)報(bào)還為開發(fā)者提供了Sdk工具, 這款名為MicroAppFrame的Sdk支撐不同程序語言開發(fā)應(yīng)用,包括:Java, Python, PHP等等。在衛(wèi)報(bào)站點(diǎn)上,展示了兩種引用其Sdk的方法,一個示例是”What Could I Cook”,另外一個是Zeitgeist。
2012年,ESPN發(fā)起成立ESPN開發(fā)中心,“ESPN API之家”可能成為一個服務(wù)于體育新聞粉絲的最佳途徑。并懸掛了“體育和代碼和諧相處”的標(biāo)語。依據(jù)該機(jī)構(gòu)的說法,這些API將被設(shè)計(jì)得簡單易用,允許用戶請求一些選擇性可編輯的新聞集合。截至2014年12月,ESPN開 放的API有:Sports API, Headline API, Athletes AP, Teams API,ESPN Now API, Standing API, Research Notes API, Medals API, Audio API, Video API, Score &schedule API, WatchESPN API,Calendar API, Photos API,Leaders API,Draft.
放眼海外媒體行業(yè),美國知名視頻分享公司Netflix成功崛起的原因是具備跨越多種設(shè)備(從手機(jī)到平板電腦再到智能電視)的普遍接入功能和可用性。Netflix API向原始設(shè)備制造商提供訪問權(quán),迅速擴(kuò)大了流媒體服務(wù)的覆蓋范圍。在 API 最初開放時,來自英國《衛(wèi)報(bào)》的James Parton 說:“Netflix的報(bào)告稱其API每天接收到超過20億次調(diào)用。如此快速的上市速度、如此廣大的擴(kuò)展范圍在API出現(xiàn)之前是根本無法實(shí)現(xiàn)的?!?/p>
在過去400年中,從創(chuàng)辦第一張報(bào)紙開始,各國新聞機(jī)構(gòu)在收集數(shù)據(jù)的同時向用戶提供與社會有關(guān)的信息?,F(xiàn)在這些數(shù)據(jù)變成數(shù)字信息,經(jīng)過存儲和關(guān)聯(lián),每一秒都在向大數(shù)據(jù)的方向不斷發(fā)展成長。新聞機(jī)構(gòu)將其內(nèi)容數(shù)字化,以便未來讓這些MGC內(nèi)容(MGC,機(jī)器生成內(nèi)容)產(chǎn)生利潤,API就成為一種有效手段和創(chuàng)新重要技術(shù),這項(xiàng)技術(shù)為合適的受眾創(chuàng)建定制內(nèi)容的同時還為每一個消費(fèi)者提供機(jī)遇和合作關(guān)系。
NPR是運(yùn)用API并通過外部合作關(guān)系建立新的內(nèi)容鏈接的較好案例,NPR公布其內(nèi)容并允許外部合作者通過Wordpress插件以及NPR的StoryAPI在Wordpress 的博客上發(fā)表內(nèi)容、開展內(nèi)容合作。在這些分析案例中,NPR還在持續(xù)不斷推動內(nèi)容開放API以聚合受眾。
近年來,紐約時報(bào)繼續(xù)組織Hack day,然而該報(bào)已經(jīng)不再為開發(fā)者更新并升級API了。出于對數(shù)據(jù)新聞的關(guān)注,英國衛(wèi)報(bào)一直在做開放數(shù)據(jù)工作,但是其努力主要集中在通過新聞中的數(shù)據(jù)生成數(shù)據(jù)報(bào)表。衛(wèi)報(bào)是數(shù)據(jù)新聞做得最好的,然而其運(yùn)用API的項(xiàng)目MicroAppFrame已經(jīng)停止更新。
為了占領(lǐng)開放API市場,一些有實(shí)力的企業(yè)陸續(xù)向市場投放依托云平臺的API網(wǎng)關(guān)服務(wù)產(chǎn)品,這類產(chǎn)品定位公有云上的企業(yè)級對接及能力開放平臺,幫助中小企業(yè)構(gòu)建、管理任意規(guī)模的API,簡單、快速、低成本和低風(fēng)險(xiǎn)地實(shí)現(xiàn)微服務(wù)的集成和聚合,以華為公司為例,當(dāng)前其API網(wǎng)關(guān)服務(wù)APIG服務(wù)已支撐包括整個華為云的API集成及API開放,橫跨生命周期管理、認(rèn)證管理、流量控制等多個業(yè)務(wù)環(huán)節(jié)。
圖3 API經(jīng)濟(jì)的IT架構(gòu)
應(yīng)用API網(wǎng)關(guān)的優(yōu)點(diǎn)是封裝了應(yīng)用程序內(nèi)部結(jié)構(gòu)??蛻舳酥恍枰珹PI網(wǎng)關(guān)交互,而不必調(diào)用特定服務(wù)。API網(wǎng)關(guān)為每一類客戶端提供了特定的API。這減少了客戶端與應(yīng)用程序間的交互次數(shù),還簡化了客戶端代碼,讓調(diào)用服務(wù)的客戶端不用知道模塊的地址,API網(wǎng)關(guān)經(jīng)常會通過調(diào)用多個微服務(wù)并合并結(jié)果來處理一個請求。可以在Web協(xié)議(如HTTP與WebSocket)與內(nèi)部使用的非Web友好協(xié)議之間轉(zhuǎn)換。
API網(wǎng)關(guān)是開放API的入口,具有授權(quán)、監(jiān)控、負(fù)載均衡、緩存、請求的修改和管理、靜態(tài)響應(yīng)處理等功能。API網(wǎng)關(guān)負(fù)責(zé)請求路由、組合和協(xié)議轉(zhuǎn)換,所有來自用戶的請求首先都要經(jīng)過API網(wǎng)關(guān),然后再路由、定位、請求合適的微服務(wù)。
當(dāng)互聯(lián)網(wǎng)形態(tài)逐漸影響傳統(tǒng)企業(yè)時,很多系統(tǒng)都會為導(dǎo)入流量或者內(nèi)容,依賴外部合作伙伴的能力,API網(wǎng)關(guān)需要在邊界上為企業(yè)內(nèi)部服務(wù)統(tǒng)一調(diào)用外部的API做統(tǒng)一的認(rèn)證、多租戶授權(quán)以及訪問控制。從以前單一的Web應(yīng)用,擴(kuò)展到多種使用場景。應(yīng)用API網(wǎng)關(guān)的優(yōu)點(diǎn)主要有:(1)網(wǎng)關(guān)內(nèi)部與外部進(jìn)行了隔離,保障了后臺服務(wù)的安全;(2)對外訪問控制由網(wǎng)絡(luò)層面轉(zhuǎn)換成了運(yùn)維層面,減少變更的流程和錯誤成本;(3)減少客戶端與服務(wù)的耦合,服務(wù)可以獨(dú)立發(fā)展,通過網(wǎng)關(guān)層做映射;(4)通過網(wǎng)關(guān)層聚合,減少外部訪問頻次,提升訪問效率。
應(yīng)用API網(wǎng)關(guān)需要考慮以下因素:(1)安全性問題;(2)性能問題,作為企業(yè)API的入口,所有的請求都會經(jīng)過API網(wǎng)關(guān)進(jìn)行轉(zhuǎn)發(fā),這種并發(fā)的請求響應(yīng)對API網(wǎng)關(guān)的訪問壓力是巨大的,有的網(wǎng)站甚至達(dá)到每分鐘上千萬的訪問量;(3)高可用問題,API網(wǎng)關(guān)作為邏輯上的單點(diǎn),對企業(yè)來說可能造成的致命的影響:(4)擴(kuò)展性問題,一些非功能性的問題,例如日志、安全、負(fù)載均衡策略、鑒權(quán)等;(5)API高效運(yùn)維的問題,API在上線、發(fā)布過程中,都需要涉及到網(wǎng)關(guān)層的配合,例如,需要網(wǎng)關(guān)層知道API的地址、接口形式和報(bào)文格式,也需要網(wǎng)關(guān)層對后臺API進(jìn)行封裝;(6)API全生命周期的管理,包括服務(wù)的開發(fā)、測試、上線發(fā)布,服務(wù)使用的申請和開通;服務(wù)分類分級別的管理、服務(wù)使用情況的監(jiān)控和計(jì)費(fèi)等。
設(shè)計(jì)一個好的企業(yè)級API網(wǎng)關(guān)產(chǎn)品需要經(jīng)歷功能需求、高性能設(shè)計(jì)和高可用設(shè)計(jì)等步驟,目前業(yè)界常用 的 API網(wǎng) 關(guān) 方 案 有 Nginx+Lua、SpringCloudZuul和MashapeKong等。