微服務架構系列——API服務網關

本章我們簡單介紹微服務架構下的API服務網關,本章我們將討論以下話題:

  • 什麼是API服務網關
  • 爲什麼需要API服務網關
  • API服務網關的工作機制

處理橫切關注點

當我們在開發設計大型軟件應用時,我們一般都會採用分層的架構模式,比如,在WEB應用程序中,下面的這種架構是我們最爲常見的設計模式
在這裏插入圖片描述
在這樣的一個分層架構中,我們可以看到應用被分成了web層、業務層、數據層。在分層架構設計中,我們可以看到有一些不同的層級都可以抽象出一些共性的組件,比如:

  • 日誌
  • 安全
  • 性能
  • 審計

這些功能特性並不屬於某個特定的架構層級,而適用於所有的分層,因此從架構的角度來講,我們需要將這些功能特性以一種通用的方式去實現。這就是我們之前所說的面向切面編程,而過濾器和攔截器則是我們實現AOP最常見的手段。

API服務網關的必要性

當我們在討論微服務架構時,我們需要面對的是不同服務間的相互調用,那問題來了?究竟我們需要在架構中的哪個位置去實現這些共性的功能特性呢?

  • 認證
  • 日誌
  • 審計
  • 限流

這就體現了API服務網關的具體作用了。
在這裏插入圖片描述

API服務網關如何工作

在微服務架構中,所有內、外的服務請求都會通過API服務網關來路由,服務網關負責實現了認證、日誌、審計、限流等相關基礎功能,假設,如果你想限制某個客戶端請求某個服務的次數,那麼我們就可以通過API服務網關來進行相應的限流操作。Netflix Zuul是目前業界流行的API服務網關解決方案。

總結

與AOP類似,AOP處理關注的是獨立應用中的橫切關注點,而API服務網關處理的則是企業級應用中微服務架構中的一些公共特性。

https://dzone.com/articles/microservices-architectures-introduction-to-api-ga

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