日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

springCloud五大组件--Eureka

發(fā)布時間:2023/12/10 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 springCloud五大组件--Eureka 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Spring Cloud 支持了 Zookeeper、Consul 和 Eureka,官方推薦 Eureka。

C(一致性)A(高可用)P(分區(qū)容錯)理論,Eureka的選擇就是放棄C,選擇AP。

Eureka 采用純 Java 實現(xiàn),除實現(xiàn)了注冊中心基本的服務(wù)注冊和發(fā)現(xiàn)之外,極大的滿足注冊中心的可用性,即使只有一臺服務(wù)可用,也可以保證注冊中心的可用性。

  • ZooKeeper的設(shè)計原則是 CP,即強(qiáng)一致性和分區(qū)容錯性。他保證數(shù)據(jù)的強(qiáng)一致性,但舍棄了可用性,如果出現(xiàn)網(wǎng)絡(luò)問題可能會影響 ZK 的選舉,導(dǎo)致 ZK 注冊中心的不可用。
  • Eureka 的設(shè)計原則是 AP,即可用性和分區(qū)容錯性。他保證了注冊中心的可用性,但舍棄了數(shù)據(jù)一致性,各節(jié)點上的數(shù)據(jù)有可能是不一致的(會最終一致)。

服務(wù)提供者和服務(wù)的消費者,本質(zhì)上也是 Eureka Client 角色。整體上可以分為兩個主體:Eureka Server 和 Eureka Client。

Eureka Server:注冊中心服務(wù)端

注冊中心服務(wù)端主要對外提供了三個功能:

服務(wù)注冊

服務(wù)提供者啟動時,會通過 Eureka Client 向 Eureka Server 注冊信息,Eureka Server 會存儲該服務(wù)的信息,Eureka Server 內(nèi)部有二層緩存機(jī)制來維護(hù)整個注冊表

提供注冊表

服務(wù)消費者在調(diào)用服務(wù)時,如果 Eureka Client 沒有緩存注冊表的話,會從 Eureka Server 獲取最新的注冊表

同步狀態(tài)

Eureka Client 通過注冊、心跳機(jī)制和 Eureka Server 同步當(dāng)前客戶端的狀態(tài)。

Eureka Client:注冊中心客戶端

Eureka Client 是一個 Java 客戶端,用于簡化與 Eureka Server 的交互。Eureka Client 會拉取、更新和緩存 Eureka Server 中的信息。因此當(dāng)所有的 Eureka Server 節(jié)點都宕掉,服務(wù)消費者依然可以使用緩存中的信息找到服務(wù)提供者,但是當(dāng)服務(wù)有更改的時候會出現(xiàn)信息不一致。

Eurka 工作流程

1、Eureka Server 啟動成功,等待服務(wù)端注冊。在啟動過程中如果配置了集群,集群之間定時通過 Replicate 同步注冊表,每個 Eureka Server 都存在獨立完整的服務(wù)注冊表信息

2、Eureka Client 啟動時根據(jù)配置的 Eureka Server 地址去注冊中心注冊服務(wù)

3、Eureka Client 會每 30s 向 Eureka Server 發(fā)送一次心跳請求,證明客戶端服務(wù)正常

4、當(dāng) Eureka Server 90s 內(nèi)沒有收到 Eureka Client 的心跳,注冊中心則認(rèn)為該節(jié)點失效,會注銷該實例

5、單位時間內(nèi) Eureka Server 統(tǒng)計到有大量的 Eureka Client 沒有上送心跳,則認(rèn)為可能為網(wǎng)絡(luò)異常,進(jìn)入自我保護(hù)機(jī)制,不再剔除沒有上送心跳的客戶端

6、當(dāng) Eureka Client 心跳請求恢復(fù)正常之后,Eureka Server 自動退出自我保護(hù)模式

7、Eureka Client 定時全量或者增量從注冊中心獲取服務(wù)注冊表,并且將獲取到的信息緩存到本地

8、服務(wù)調(diào)用時,Eureka Client 會先從本地緩存找尋調(diào)取的服務(wù)。如果獲取不到,先從注冊中心刷新注冊表,再同步到本地緩存

9、Eureka Client 獲取到目標(biāo)服務(wù)器信息,發(fā)起服務(wù)調(diào)用

10、Eureka Client 程序關(guān)閉時向 Eureka Server 發(fā)送取消請求,Eureka Server 將實例從注冊表中刪除

總結(jié)

以上是生活随笔為你收集整理的springCloud五大组件--Eureka的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。