微服務的幾大常用組件簡介

微服務最近幾年挺火的,翻閱了一部分資料,除掉那些故弄玄虛的有的沒的,目前已經落地的項目我個人覺得還是微服務是一種新的分佈式的系統而已,將傳統的大集中式的業務系統逐步拆分,這條技術路線不是憑空出生,是有很長的淵源,從比較早的SOA,業務邏輯代碼和系統代碼分離,前後端分離等等組件解合耦的方式。

目前我理解的微服務的常用組件有如下幾種:

服務發現——Netflix Eureka(Nacos)

客服端負載均衡——Netflix Ribbon(Ribbon)

斷路器——Netflix Hystrix(Sentinel)

服務網關——Netflix Zuul(Spring Cloud Gateway)

分佈式配置——Spring Cloud Config

服務發現

一個RESTful服務,用來定位運行在AWS地區(Region)中的中間層服務。由兩個組件組成:Eureka服務器和Eureka客戶端。Eureka服務器用作服務註冊服務器。Eureka客戶端是一個java客戶端,用來簡化與服務器的交互、作爲輪詢負載均衡器,並提供服務的故障切換支持。Netflix在其生產環境中使用的是另外的客戶端,它提供基於流量、資源利用率以及出錯狀態的加權負載均衡。

斷路器

斷路器可以防止一個應用程序多次試圖執行一個操作,即很可能失敗,允許它繼續而不等待故障恢復或者浪費 CPU 週期,而它確定該故障是持久的。斷路器模式也使應用程序能夠檢測故障是否已經解決。如果問題似乎已經得到糾正​​,應用程序可以嘗試調用操作。

服務網關

類似nginx,反向代理的功能,不過netflix自己增加了一些配合其他組件的特性。

分佈式配置

Ribbon客戶端組件提供一系列完善的配置選項,比如連接超時、重試、重試算法等。Ribbon內置可插拔、可定製的負載均衡組件。

客戶端負載均衡

這個還是靜態的,得配合Spring Cloud Bus實現動態的配置更新。

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