淺聊SpringCloud的網關

本博客 貓叔的博客,轉載請申明出處

閱讀本文約 「4分鐘」git

適讀人羣:Java初級github

爲何要設計網關?

上網蒐羅了一下,以爲別人說的挺好,就引用了一下,在使用微服務的時候,不一樣的功能業務會集成一個服務羣,而網關是基於服務羣上的一個服務層,也是單獨暴露給客戶端的APIs。架構

客戶端對微服務的依賴直接使重構服務變得困難。一種直觀的方法是將這些服務隱藏在一個新的服務層後面,並提供針對每一個客戶端的APIs。

這個聚合器服務層也稱爲API網關,它是解決這個問題的一種常見方法。併發

引用下圖,原文出處maven

Image

SpringCloud的網關

zuul1.X(阻塞)

  • 架構:

經過servlet作處理,並經過多個Groovy Filter作鏈過濾請求微服務

Image

  • 現狀:

目前比較少,可是對於實時業務仍是能夠穩定使用高併發

  • 應用場景:

簡單業務,邏輯簡單,實時業務,cpu型業務學習

  • 使用方式:

引入maven包,使用註解的形式,能夠在配置文件配置大數據

zuul2.X(非阻塞)

  • 架構:

2.0引入了Netty服務,實現非阻塞與高併發的處理能力spa

image

  • 現狀:

官方中止維護,非阻塞

  • 應用場景:

大數據、隊列類型、高併發、io型業務

  • 使用方式:

引入maven包,使用註解的形式,能夠在配置文件配置

Gateway(非阻塞)

  • 架構:

與zuul2.0一致,不上圖

  • 現狀:

SpringCloud官方維護,由於zuul2.X中止維護,因此基於2.X的同架構版本

  • 應用場景:

大數據、隊列類型、高併發、io型業務

  • 使用方式:

引入maven包,路由註解(route-》path-》filters-》uri)或者以配置的形式

公衆號:Java貓說

學習交流羣:728698035

現架構設計(碼農)兼創業技術顧問,不羈平庸,熱愛開源,雜談程序人生與不按期乾貨。

Image Text

相關文章
相關標籤/搜索