API幫助管理程式,它們允許軟體應用程式和數字平臺相互互動,從而協調具有自己體系結構的應用程式之間的請求交換,如果管理得當,API可以讓開發人員獲得整潔、簡化的體驗,
面臨的挑戰是確保您在目前的IT操作中正確的管理API,否則,將面臨引入 break change,使API暴露于安全漏洞以及其他可能破壞現代業務效率的危險,

微服務網關的力量
API是在分布式網路中通信的重要組成部分,數字化轉型和其他主要的組織變革促使公司提供跨設備、跨平臺的應用程式,但是如果沒有正確的API提供這些平臺之間的鏈接,這些計劃就不可能實作,
傳統上,應用程式介面用于管理單體應用程式和客戶端之間的通信,在當前的Web API時代,開發人員可以集成不同的內部系統來創建分布式微服務應用程式,如果說有什么可以彌補微服務和傳統系統之間的差距的話,那就是API,它揭示了微服務的完整可用性,并使它們可以被傳統系統使用,
假設您有一個基于微服務的體系結構,其中包含100多個服務,如何為每種服務提供統一的入口點?在API網關的幫助下,可以輕松地進行管理,當每個微服務都有一個公共端點時,可以實作更好的集成,進而更好地實作業務目標,
但是,API管理可能很困難,為了構建一個安全和敏捷的API,您需要采取一種實用的方法,

為什么API網關至關重要
在API前面有一個API網關,您可以為微服務創建一種有序地組織自身的方法,API網關允許開發人員根據用例以多種方式封裝應用程式的內部結構,
當開發人員無法保持微服務網關的最新狀態時,組織就會陷入困境,每當添加或洗掉微服務,都需要調整網關,由于這個原因,您的微服務網關的更新程序應該盡可能簡單,
大型組織面臨著從現有的單片系統遷移到基于微服務的體系結構的挑戰,當您想要將現有架構重構為云原生微服務時,需要在不影響用戶的情況下進行更改,為了成功做到這一點,需要能夠將單體應用程式作為網關,
微服務的一個關鍵挑戰是實作微服務應用程式之間的通信,即讓不同的服務相互通信,然后回傳資料,面向客戶端的微服務前端如何處理用戶的請求是一項重要的任務,API提供了介面供外部呼叫者正確格式化服務請求,
云原生微服務需要快速發布和額外驗證,這超出了傳統的線性開發流程,這些復雜性只能通過API進行管理,
大型云供應商認識到API在基于容器的應用程式管理中的重要性,在Red Hat看來,分布式集成、容器和API代表了敏捷集成的三大支柱,
一旦將應用程式代碼以微服務方式重構,并且在基礎結構中分配了容器,下一步的邏輯步驟就是使用有效的API層對它們進行補充,這允許每個服務以可預測和安全的方式暴露于外界,

API管理陷阱
公司比以往任何時候都更加依賴API,因此,負責創建正確API體系結構的開發人員將把重點放在可擴展性上,而不是陷入編程語言中,在這樣做時,開發人員應注意避免API管理的某些陷阱,以下是在此方面犯下的最大錯誤:
引入對現有API端點的break change,break change是指一個API更新后,該更改導致另一個現有API中斷,API設計不一致時就會發生這種情況,必須避免break change,而做到這一點的最佳方法是一開始確定您的API設計是什么,無論特定的開發人員屬于哪個團隊或他們在組織中的資歷如何,這都應該是團隊中的共享資訊,
沒有將API與應用程式分離,API網關有一個共同的假設:如果由API驅動的用戶應用程式運行良好,那么您的API就是完美的,一旦您的應用程式遇到問題,這些假設就會消失,管理API的作業應該與應用程式分開,這樣您可以更輕松地知道API是否按預期作業,
不以最終用戶身份測驗API,即使API充當兩個應用程式或服務之間的介面,也應該將其視為確定的應用程式,檢查API是否使集成變得簡單,或者是否可以擴展到實際的用戶流量,自動化的API測驗是一個起點,還應該在各種移動設備上的實際條件下和峰值負載下通過測驗API,
安全性不足,在安全性方面,許多API處理不當,如果沒有合理的安全規定,最基本的功能將被動搖,隨著DDOS、XML Bomb、XSS和其他高級威脅的頻繁發生,基本的API密鑰身份驗證可能還不夠,必須添加諸如JSON Web Token和OAuth之類的高級加密技術的組合,以確保零妥協,
沒有發現未來的集成事故,一開始,集成看起來似乎很簡單,隨著應用程式的擴展,工具的不斷變化,開發人員在集成的創建和維護中面臨許多挑戰,例如,最扯訓于這種需求而建立單向集成的開發人員,在支持雙向更新的需求到來時會遇到困難,此外,工具每幾個月升級一次,集成中的每項更改都會在可追溯性方面帶來更多麻煩,最后,當集成在某個點失敗時,整個組織都會受到影響,

遵循不斷變化的設計模式和反模式,讓測驗團隊參與進來,然后映射集成是很重要的,這也確保了下一個開發人員在處理其他開發人員創建的API時不會感到陌生,
任何在代碼庫上作業的人都希望獲得更好的代碼可維護性,這意味著要使用API,對于任何開始探索微服務的眾多優勢的人來說,情況也是如此,在這個領域的成功將取決于記住API網關是一個重要的盟友,它們有助于管理互動、適應變化并讓開發人員進行開發,
API具有改變您的應用程式交付的潛力,當您避免API管理中的常見錯誤時,便可以讓開發人員騰出時間來構建應用程式體驗,API為這些應用程式帶來了新的可能性,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/255496.html
標籤:其他
