??前言
本篇博文是關(guān)于SpringCloud Eureka 介紹,希望你能夠喜歡
??個(gè)人主頁:晨犀主頁
??個(gè)人簡(jiǎn)介:大家好,我是晨犀,希望我的文章可以幫助到大家,您的滿意是我的動(dòng)力????
??歡迎大家:這里是CSDN,我總結(jié)知識(shí)的地方,歡迎來到我的博客,感謝大家的觀看??
如果文章有什么需要改進(jìn)的地方還請(qǐng)大佬不吝賜教 先在此感謝啦??
SpringCloud Eureka 服務(wù)注冊(cè)與發(fā)現(xiàn)
Eureka 介紹
學(xué)Eureka 前的說明
1、Spring Cloud 組件選型- 圖
2、從上圖可以看出, 目前主流的服務(wù)注冊(cè)&發(fā)現(xiàn)的組件是Nacos, 但是Eureka 作為一個(gè)老牌經(jīng)典的服務(wù)注冊(cè)&發(fā)現(xiàn)技術(shù)還是有必要學(xué)習(xí)一下, 原因
(1) 一些早期的分布式微服務(wù)項(xiàng)目使用的是Eureka, 小伙伴在工作中, 完全有可能遇到這種情況.
(2) 后期的服務(wù)注冊(cè)&發(fā)現(xiàn)組件/技術(shù), 都參考了Eureka 設(shè)計(jì)和理念, 學(xué)習(xí)了Eureka 后, 我們上手Nacos 容易很多,而且理解的更深刻.
當(dāng)前項(xiàng)目架構(gòu)問題分析-引出Eureka
架構(gòu)分析示意圖
對(duì)問題分析
1.在企業(yè)級(jí)項(xiàng)目中,服務(wù)消費(fèi)訪問請(qǐng)求會(huì)存在高并發(fā)
2.如果只有一個(gè)會(huì)員中心-提供服務(wù),可用性差
3.所以,會(huì)員中心提供服務(wù)往往是一個(gè)集群,也就是說會(huì)有多個(gè)會(huì)員中心-提供服務(wù)微服務(wù)模塊
4.那么這個(gè)時(shí)候,就存在一個(gè)問題就是服務(wù)消費(fèi)方,怎么去發(fā)現(xiàn)可以使用的服務(wù)
5.當(dāng)服務(wù)消費(fèi)方,發(fā)現(xiàn)了可以使用的服務(wù)后(可能是多個(gè),又存在一個(gè)問題就是到底調(diào)用A服務(wù),還是B 服務(wù)的問題,這就引出了服務(wù)注冊(cè)和負(fù)載均衡)
6.Eureka 就可以解決上述問題
引入Eureka 項(xiàng)目架構(gòu)
架構(gòu)剖析圖
解讀
- 會(huì)員中心-提供服務(wù)的,在項(xiàng)目中,會(huì)做成集群,提供高可用。
- Eureka Server 有必要的話,也可以做成集群。
- Eureka 包含兩個(gè)組件∶Eureka Server 和Eureka Client。
- Eureka Server 提供注冊(cè)服務(wù), 各個(gè)微服務(wù)節(jié)點(diǎn)通過配置啟動(dòng)后,會(huì)在Eureka Server 中進(jìn)行注冊(cè),這樣EurekaServer 中的服務(wù)注冊(cè)表中將會(huì)存儲(chǔ)所有可用服務(wù)節(jié)點(diǎn)的信息,服務(wù)節(jié)點(diǎn)的信息可以在界面中直觀看到。
- EurekaClient 通過注冊(cè)中心進(jìn)行訪問, 是一個(gè)Java 客戶端,用于簡(jiǎn)化Eureka Server 的交互,客戶端同時(shí)也具備一個(gè)內(nèi)置的、使用輪詢(round-robin) 負(fù)載算法的負(fù)載均衡器。在應(yīng)用啟動(dòng)后,將會(huì)向Eureka Server 發(fā)送心跳(默認(rèn)周期為30 秒)。如果Eureka Server 在多個(gè)心跳周期內(nèi)沒有接收到某個(gè)節(jié)點(diǎn)的心跳,EurekaServer 將會(huì)從服務(wù)注冊(cè)表中把這個(gè)服務(wù)節(jié)點(diǎn)移除(默認(rèn)90 秒)。
服務(wù)治理介紹
Eureka 實(shí)現(xiàn)服務(wù)治理
在傳統(tǒng)的rpc 遠(yuǎn)程調(diào)用框架中,管理每個(gè)服務(wù)與服務(wù)之間依賴關(guān)系比較復(fù)雜,管理困難,所以需要治理服務(wù)之間依賴關(guān)系。
服務(wù)治理實(shí)現(xiàn)服務(wù)調(diào)用、負(fù)載均衡、容錯(cuò)等,實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)與注冊(cè)。
感興趣的可以看看分布式開發(fā): https://jingyan.baidu.com/article/46650658def479f549e5f83e.html
服務(wù)注冊(cè)和發(fā)現(xiàn)
??總結(jié)
-
Eureka采用了CS[client-server-java基礎(chǔ)我們講過一個(gè)多人聊天項(xiàng)目]的設(shè)計(jì)架構(gòu),Eureka Server 作為服務(wù)注冊(cè)功能的服務(wù)器,它是服務(wù)注冊(cè)中心。
-
系統(tǒng)中的其他微服務(wù),使用Eureka的客戶端連接到Eureka Server并維持心跳連接,通過Eureka Server 來監(jiān)控系統(tǒng)中各個(gè)微服務(wù)是否正常運(yùn)行。
-
在服務(wù)注冊(cè)與發(fā)現(xiàn)中,有一個(gè)注冊(cè)中心。當(dāng)服務(wù)器啟動(dòng)的時(shí)候,會(huì)把當(dāng)前自己服務(wù)器的信息比如服務(wù)地址通訊地址等以別名方式注冊(cè)到注冊(cè)中心上。
-
服務(wù)消費(fèi)者或者服務(wù)提供者,以服務(wù)別名的方式去注冊(cè)中心上獲取到實(shí)際的服務(wù)提供者通訊地址,然后通過RPC調(diào)用服務(wù)。
??熱門專欄推薦
Spring Cloud–從零開始搭建微服務(wù)基礎(chǔ)環(huán)境
帶你了解SpringBoot—開啟Durid 監(jiān)控
SpringBoot—內(nèi)置Tomcat 配置和切換文章來源:http://www.zghlxwxcb.cn/news/detail-700300.html
文章到這里就結(jié)束了,如果有什么疑問的地方請(qǐng)指出,諸大佬們一起來評(píng)論區(qū)一起討論??
希望能和諸大佬們一起努力,今后我們一起觀看感謝您的閱讀??
如果幫助到您不妨3連支持一下,創(chuàng)造不易您們的支持是我的動(dòng)力??文章來源地址http://www.zghlxwxcb.cn/news/detail-700300.html
到了這里,關(guān)于什么是SpringCloud Eureka服務(wù)注冊(cè)與發(fā)現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!