簡體   English   中英

微服務 API 網關與微服務機箱

[英]Microservices API gateway vs. Microservices Chassis

我是微服務新手,聽說過微服務機箱,但在網上找不到足夠的資源。 我想知道微服務機箱框架和 API 網關之間有什么區別,因為據我所知,機箱框架解決了橫切關注問題,其中一些已經通過 API 網關解決了。

對.net 的微服務機箱框架有什么建議嗎?

橫切關注點:在任何企業應用程序中,除了主要業務邏輯之外,還有許多需要關注的問題。 ... 這些關注點是日志記錄、事務處理、性能監控、安全性等。這些關注點被稱為應用程序的橫切關注點。

澄清這一點意味着幾乎所有的微服務都有一些共同的關注點。 這些問題以及如何管理它們就是機箱。 微服務機箱就是實現這些橫切關注點的一種方式。 構建可重復使用的機箱有助於節省時間、加強團隊之間的一致性,並確保每個服務共享相同的操作特性。

API 網關在微服務中還有其他作用。 每個服務在發現服務中注冊自己后,API網關必須使用發現服務在客戶端和每個服務之間建立連接。

看這個例子:

微服務架構

上面的例子來自 Spring 實現(Java)。

想象一下當每個服務在不同的端口和地址時的情況。 然后客戶端必須知道每個服務的所有地址和端口才能調用它們。 如果其中任何一個發生變化,會發生什么? 一切都只是毀了。

為了解決這個問題,每個服務都會在發現服務器上注冊自己(在本例中為Eureka )。 API-Gateway 然后必須使用該發現服務並為每個服務創建 API 地址。 例如,它可以將以下模式中的任何請求轉發給相關的注冊服務: /{micro_service_name}/** 這意味着如果order-service具有/orders/get/{order-id} API,那么客戶端必須使用/order-service/orders/get/{order-id}來訪問訂單。 API 網關使用發現服務器將請求重定向到匹配的服務。

微服務架構中的 API 網關主要與服務發現相關,這意味着為了知道從哪個端點調用哪個服務,一種簡單但不夠的方法是使用 API 網關,簡單的所有服務及其地址和端口的數據庫,將此與Docker等容器化技術進行比較。 以下是一組關於code-project中微服務的文章,如果你喜歡,可以閱讀和評論你的問題。
https://www.codeproject.com/Articles/1264113/Dive-into-Microservices-Architecture-Part-I https://www.codeproject.com/Articles/1264113/Dive-into-Microservices-Architecture-Part-II https://www.codeproject.com/Articles/1264113/Dive-into-Microservices-Architecture-Part-III

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM