網(wǎng)站服務器有哪些類型有哪些類型有哪些類型有哪些類型百度推廣一年大概需要多少錢
沒有服務網(wǎng)關
問題:
- 地址太多
- 安全性
- 管理問題
為什么要使用服務網(wǎng)關
網(wǎng)關是微服務架構中不可或缺的部分。使用網(wǎng)關后,客戶端和微服務之間的網(wǎng)絡結構如下。
注意:
網(wǎng)關統(tǒng)一向外部系統(tǒng)(如訪問者、服務)提供REST API。在SpringCloud 中,使用Zuul、Spring Cloud Gateway等作為API Gateway來實現(xiàn)動態(tài)路由、監(jiān)控、回退、安全等功能。
認識Spring Cloud Gateway
Spring Cloud Gateway 是 Spring Cloud生態(tài)系統(tǒng)中的網(wǎng)關,它是基于Spring 5.0、SpringBoot 2.0和Project Reactor等技術開發(fā)的,旨在為微服務架構提供一種簡單有效的、統(tǒng)一的API路由管理方式,并為微服務架構提供安全、監(jiān)控、指標和彈性等功能。其目標是替代Zuul。
注意:
Spring Cloud Gateway 用"Netty + Webflux"實現(xiàn),不要加入Web依賴,否則會報錯,它需要加入Webflux依賴。
什么是WebFlux
Webflux模式替換了舊的Servlet線程模型。用少量的線程處理request和response io操作,這些線程稱為Loop線程,而業(yè)務交給響應式編程框架處理,響應式編程是非常靈活的,用戶可以將業(yè)務中阻塞的操作提交到響應式框架的work線程中執(zhí)行,而不阻塞的操作依然可以在Loop線程中進行處理,大大提高了Loop線程的利用率。
注意:
Webflux雖然可以兼容多個底層的通信框架,但是一般情況下,底層使用的還是Netty,畢竟,Netty是目前業(yè)界認可的最高性能的通信框架。而Webflux的Loop線程,正好就是著名的Reactor模式IO處理模型的Reactor線程,如果使用的是高性能的通信框架Netty。
溫馨提示:
什么是Netty,Netty 是一個基于NIO的客戶、服務器端的編程框架。提供異步的、事件驅動的網(wǎng)絡應用程序框架和工具,用以快速開發(fā)高性能、高可靠性的網(wǎng)絡服務器和客戶端程序。
Spring Cloud Gateway特點
- 易于編寫謂詞( Predicates )和過濾器( Filters ) 。其Predicates和Filters可作用于特定路由。
- 支持路徑重寫。
- 支持動態(tài)路由。
- 集成了Spring Cloud DiscoveryClient。