web服务优化与健壮性改进_创建健壮的微服务架构所涉及的组件
web服務(wù)優(yōu)化與健壯性改進
在本文中,我們將簡要學(xué)習(xí)構(gòu)建強大的微服務(wù)應(yīng)用程序所需的各種軟件組件。 在簡要了解每個架構(gòu)組件之前,我們將陳述設(shè)計微服務(wù)架構(gòu)時出現(xiàn)的一般查詢。
1.微服務(wù)架構(gòu)組件
每當我們創(chuàng)建微服務(wù)應(yīng)用程序時,我們都會想到以下問題
- 我們將如何注冊微服務(wù),以便客戶可以使用該注冊信息(服務(wù)發(fā)現(xiàn))并調(diào)用微服務(wù)?
- 我們?nèi)绾未_保所構(gòu)建的微服務(wù)應(yīng)用程序完全容錯并且高度可用?
- 我們?nèi)绾未_保只有一個接口提供給客戶端,從而減少了很多客戶端的工作量,并使Micro Services應(yīng)用程序非常易于使用?
- 如何無縫平衡傳入請求到微服務(wù)的負載?
請查看下面的架構(gòu)圖,并讓我們了解構(gòu)建架構(gòu)所涉及的組件是否可以解決上述所有問題:
微服務(wù)架構(gòu)組件
1.1 Netflix Eureka服務(wù)器
Netflix Eureka充當發(fā)現(xiàn)服務(wù)器,其中出現(xiàn)后的微服務(wù)會將其自身注冊為發(fā)現(xiàn)客戶端。 Netflix Eureka向外界提供了一個REST接口,用于與其通信。 Eureka還具有另一個稱為Eureka Client的軟件模塊,通過它與Eureka Server交互交互以進行服務(wù)發(fā)現(xiàn)。 Eureka Client還帶有內(nèi)置的Load Balancer,可以對傳入的客戶端請求進行負載平衡。
Netflix Eureka Server是上述問題1的答案。
1.2 Hystrix服務(wù)器
Hystrix充當容錯彈性系統(tǒng),用于避免軟件應(yīng)用程序完全失敗。 它通過提供一種斷路器機制來做到這一點,在這種機制中,當應(yīng)用程序平穩(wěn)運行而沒有任何問題時,電路保持閉合狀態(tài)。 如果應(yīng)用程序中連續(xù)遇到錯誤,則Hystrix服務(wù)器電路將打開,Hystrix將停止對呼叫服務(wù)的任何進一步請求,而是將請求轉(zhuǎn)移到回退服務(wù)。 這樣,它提供了一個高彈性的系統(tǒng)。
Hystrix Server是上面問題2的答案。
1.3 Netfilx Zuul服務(wù)器
Netflix Zuul Server充當一種網(wǎng)關(guān)服務(wù)器,其中所有客戶端請求hva都通過它,因此它充當一種客戶端的統(tǒng)一接口。 客戶端使用單個通信協(xié)議與所有微服務(wù)進行通信,Zuul服務(wù)器則負責(zé)使用其適當?shù)耐ㄐ艆f(xié)議調(diào)用各種微服務(wù)。 Netflix Zuul還具有內(nèi)置的負載均衡器,以負載均衡來自客戶端的所有傳入請求。
Netflix Zuul Server是上述問題3的答案。
1.4 Netflix功能區(qū)
Netflix Ribbon充當一種負載均衡器,其中負載均衡來自客戶端的所有傳入請求。 盡管您可以將其配置為使用任何其他備用負載平衡機制,但默認情況下它使用基本的Round Robin負載平衡策略。 Netflix Zuul Server已內(nèi)置了Netflix Ribbon。 如果要獨立使用Netflix Ribbon,我們必須預(yù)配適當?shù)腘etflix Ribbon Maven軟件包,以在任何應(yīng)用程序中使用它。
Netflix Ribbon Server是對以上問題4的回答。
2.結(jié)論
在本文中,我們簡要了解了構(gòu)建Micro Services應(yīng)用程序所需的所有軟件組件。 在下一篇文章中,我們將嘗試詳細了解Netflix Eureka的工作原理。
翻譯自: https://www.javacodegeeks.com/2016/05/components-involved-creating-robust-micro-service-architecture.html
web服務(wù)優(yōu)化與健壯性改進
總結(jié)
以上是生活随笔為你收集整理的web服务优化与健壮性改进_创建健壮的微服务架构所涉及的组件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓app定制多少钱(安卓app定制)
- 下一篇: hyper linux虚拟机链接黑屏(h