API爲什麼很重要

API爲什麼很重要

  • 服務價值的精華體現
  • 可靠、可用、可讀
  • 只有一次機會
image.png

實現一個API網關作爲所有客戶端的唯一入口。API網關有兩種方式來處理請求。有些請求被簡單地代理/路由到合適的服務上,其他的請求被轉給到一組服務。

image.png

相比於提供普適的API,API網關根據不同的客戶端開放不同的API。比如,Netflix API網關運行着客戶端特定的適配器代碼,會向客戶端提供最適合其需求的API。

API網關也可以實現安全性,比如驗證客戶端是否被授權進行某請求。

設計要素

•Version
•RequstID
•Auth&Signature
•RateLimit
•Docs
•ErrorCode&Message

image.png

微服務治理
•按需伸縮
–部署與監控運維成本
•獨立部署
–機器數量與部署成本
•業務獨立
–服務依賴、治理,版本管理、事務處理
•技術多樣性
–環境部署成本、約定成本

•運行狀態治理
–監控、限流、SLA、LB、日誌分析
•服務註冊與發現
•部署
–快速、複製、擴容
–單機開發
•調用
–安全、容錯、服務降級、調用延時

image.png
image.png

服務容錯

當企業微服務化以後,服務之間會有錯綜複雜的依賴關係,例如,一個前端請求一般會依賴於多個後端服務,技術上稱爲1 -> N扇出. 在實際生產環境中,服務往往不是百分百可靠,服務可能會出錯或者產生延遲,如果一個應用不能對其依賴的故障進行容錯和隔離,那麼該應用本身就處在被拖垮的風險中。在一個高流量的網站中,某個單一後端一旦發生延遲,可能在數秒內導致所有應用資源(線程,隊列等)被耗盡,造成所謂的雪崩效應(Cascading Failure),嚴重時可致整個網站癱瘓。

參考鏈接:
微服務英文文檔
微服務

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章