国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Springcloud筆記(2)-Eureka服務(wù)注冊(cè)中心

這篇具有很好參考價(jià)值的文章主要介紹了Springcloud筆記(2)-Eureka服務(wù)注冊(cè)中心。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Eureka服務(wù)注冊(cè)

Eureka作為一個(gè)微服務(wù)的治理中心,它是一個(gè)服務(wù)應(yīng)用,可以接收其他服務(wù)的注冊(cè),也可以發(fā)現(xiàn)和治理服務(wù)實(shí)例。

服務(wù)治理中心是微服務(wù)(分布式)架構(gòu)中最基礎(chǔ)和最核心的功能組件,它主要對(duì)各個(gè)服務(wù)實(shí)例進(jìn)行管理,包括服務(wù)注冊(cè)和服務(wù)發(fā)現(xiàn)

本文參考:springcloud教程 -- 1.快速搭建入門級(jí)demo,看這一篇就夠了-CSDN博客

Springcloud筆記(2)-Eureka服務(wù)注冊(cè)中心,springcloud,eureka,spring cloud

兩個(gè)組件

Eureka包含兩個(gè)組件:Eureka Server和Eureka Client。?

Eureka Server提供服務(wù)注冊(cè),各個(gè)節(jié)點(diǎn)啟動(dòng)后,會(huì)在Eureka Server中進(jìn)行注冊(cè),這樣Eureka Server中的服務(wù)注冊(cè)表中將會(huì)存儲(chǔ)所有可用服務(wù)節(jié)點(diǎn)的信息,服務(wù)節(jié)點(diǎn)的信息可以在界面中直觀的看到。

Eureka Client用于簡(jiǎn)化與Eureka Server的交互,在應(yīng)用啟動(dòng)后,將會(huì)向Eureka Server發(fā)送心跳,如果Eureka Server在多個(gè)心跳周期內(nèi)沒(méi)有接收到某個(gè)節(jié)點(diǎn)的心跳,Eureka Server將會(huì)從服務(wù)注冊(cè)表中把這個(gè)服務(wù)節(jié)點(diǎn)移除。

eureka模塊

這里的一個(gè)模塊就是一個(gè)微服務(wù)。

主要依賴,這個(gè)依賴用于指明當(dāng)前服務(wù)為eureka server。

 <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
            <version>4.0.0</version>
        </dependency>

新建一個(gè)服務(wù),需要在主工程上右鍵選擇new->module

Springcloud筆記(2)-Eureka服務(wù)注冊(cè)中心,springcloud,eureka,spring cloud

j-cloud-server-eureka的啟動(dòng)類需加上注解@EnableEurekaServer, 來(lái)聲明其是一個(gè)基于Eureka的服務(wù)注冊(cè)發(fā)現(xiàn)中心

注解@EnableEurekaServer,它代表著在Spring Boot應(yīng)用啟用之時(shí),也啟動(dòng)Eureka服務(wù)器。此時(shí),我們以Java Application的形式運(yùn)行,就能夠啟用Eureka服務(wù)治理中心

eureka的配置文件,定義了defaultZone: http://jorian:123456@localhost:8761/eureka 這個(gè)配置用來(lái)聲明要將服務(wù)注冊(cè)到哪個(gè)eureka上,但是本服務(wù)是eureka server服務(wù),所以用reguster-with-eureka為false來(lái)指明不需要注冊(cè)本服務(wù)。(是否注冊(cè)都可以)

Springcloud筆記(2)-Eureka服務(wù)注冊(cè)中心,springcloud,eureka,spring cloud

配置介紹

●spring.application.name:配置的是Spring應(yīng)用的名稱,也是微服務(wù)的名稱,在Spring Cloud中,一個(gè)微服務(wù)可以擁有多個(gè)實(shí)例。

●eureka.client.register-with-eureka:這個(gè)配置項(xiàng)是取消當(dāng)前微服務(wù),尋找其他Eureka服務(wù)治理中心進(jìn)行注冊(cè)。

●eureka.client.fetch-registry:取消服務(wù)獲取功能,關(guān)于服務(wù)獲取,本章后續(xù)會(huì)討論?!馿ureka.client.serviceUrl.defaultZone:如果需要注冊(cè)微服務(wù),可以通過(guò)這個(gè)屬性來(lái)配置服務(wù)治理中心的注冊(cè)地址,完成服務(wù)注冊(cè)的功能。?

啟動(dòng)主程序,訪問(wèn)http://localhost:8761/

Springcloud筆記(2)-Eureka服務(wù)注冊(cè)中心,springcloud,eureka,spring cloud

可以看到?jīng)]有注冊(cè)任何服務(wù)。

生產(chǎn)者模塊

j-cloud-provider1

依賴,該依賴用來(lái)配置eureka的client服務(wù)。

     <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

在該服務(wù)的application添加eureka配置,指明要將服務(wù)注冊(cè)到這個(gè)eureka地址上。這就是服務(wù)注冊(cè)。

配置文件的application name還指明了這個(gè)服務(wù)的名字。

Springcloud筆記(2)-Eureka服務(wù)注冊(cè)中心,springcloud,eureka,spring cloud

啟動(dòng)類添加注解:@EnableEurekaClient來(lái)聲明其是一個(gè)client(生產(chǎn)者或者消費(fèi)者,在這里他是生產(chǎn)者)

啟動(dòng)該程序,在euraka可以看到該服務(wù)已注冊(cè)到eureka上。這就是服務(wù)發(fā)現(xiàn)。

Springcloud筆記(2)-Eureka服務(wù)注冊(cè)中心,springcloud,eureka,spring cloud

新建一個(gè)provider2注冊(cè)到eureka,并啟用。

兩個(gè)生產(chǎn)者要用同樣的application name,代表同一個(gè)應(yīng)用的兩個(gè)實(shí)例

(兩個(gè)生產(chǎn)者模塊用來(lái)演示負(fù)載均衡策略)?

架構(gòu)圖

所謂微服務(wù),是指完成某一業(yè)務(wù)功能的獨(dú)立系統(tǒng)。一個(gè)微服務(wù)可以有多個(gè)實(shí)例,所謂實(shí)例,是指一個(gè)具體的服務(wù)節(jié)點(diǎn)。

為什么要有多個(gè)服務(wù)節(jié)點(diǎn)?

1、高可用,即使某個(gè)節(jié)點(diǎn)不可用時(shí),服務(wù)仍可用。

2、高性能,在大并發(fā)情況下,分?jǐn)傉?qǐng)求壓力。

實(shí)例對(duì)Eureka服務(wù)治理中心發(fā)送REST風(fēng)格的請(qǐng)求,將自己的相關(guān)配置發(fā)送到Eureka服務(wù)治理中心完成注冊(cè)。

Springcloud筆記(2)-Eureka服務(wù)注冊(cè)中心,springcloud,eureka,spring cloud

消費(fèi)者模塊

新建消費(fèi)者模塊consumer并配置。

url的服務(wù)器和端口被定義為了provider-user,與生產(chǎn)者配置項(xiàng)spring.application.name是一致的,這樣Eureka服務(wù)治理中心就知道你在請(qǐng)求哪個(gè)服務(wù)。

@RequestMapping("/hello")
?? ?public String hello(){
?? ??? ?//指出服務(wù)地址 ? http://{服務(wù)提供者應(yīng)用名名稱}/{具體的controller}
?? ??? ?String url="http://provider-user/user/sayHello";
?
?? ??? ?//返回值類型和我們的業(yè)務(wù)返回值一致
?? ??? ?return resttemplate.getForObject(url, String.class);

訪問(wèn)http://localhost:8001/hello

即可以訪問(wèn)到生產(chǎn)者返回的信息。?

負(fù)載均衡

eureka配置了ribbon負(fù)載均衡策略(如果已經(jīng)在模塊中引入了spring-cloud-starter-netflix-eureka-client,它的父pom便會(huì)自動(dòng)引入spring-cloud-starter-netflix-ribbon)

消費(fèi)者的請(qǐng)求會(huì)在客戶端被決定好發(fā)送到哪臺(tái)服務(wù)提供者進(jìn)行處理。

重復(fù)訪問(wèn)消費(fèi)者地址N次,因?yàn)榕渲昧藘蓚€(gè)生產(chǎn)者,http://localhost:8001/hello,會(huì)發(fā)現(xiàn)返回結(jié)果在兩個(gè)provider切換,實(shí)現(xiàn)了負(fù)載均衡

Springcloud筆記(2)-Eureka服務(wù)注冊(cè)中心,springcloud,eureka,spring cloud

Springcloud筆記(2)-Eureka服務(wù)注冊(cè)中心,springcloud,eureka,spring cloud

多個(gè)服務(wù)注冊(cè)中心

實(shí)際使用時(shí),部署多個(gè)服務(wù)注冊(cè)中心,防止服務(wù)注冊(cè)中心宕機(jī)導(dǎo)致服務(wù)不可用。?

源碼:2504973175/j-cloud - 碼云 - 開(kāi)源中國(guó) (gitee.com)

Eureka服務(wù)治理原理

Eureka服務(wù)治理有以下幾個(gè)重要概念。

服務(wù)治理中心-就是eureka服務(wù)

服務(wù)提供者--注冊(cè)到eureka上,所以eureka可以對(duì)其進(jìn)行治理。在本文中就是provider-user。

服務(wù)消費(fèi)者-? 服務(wù)的消費(fèi)者會(huì)調(diào)用其他微服務(wù),如本文消費(fèi)者調(diào)用的provider-user,Eureka會(huì)解析類似provider-user這樣的微服務(wù)名稱。解析的過(guò)程是,首先根據(jù)這個(gè)名稱從服務(wù)治理中心獲取服務(wù)提供者的實(shí)例列表,保存在本地,然后通過(guò)特定的負(fù)載均衡的策略確定具體的實(shí)例,最后通過(guò)請(qǐng)求該實(shí)例獲取數(shù)據(jù)。例子中使用了Ribbon來(lái)實(shí)現(xiàn)服務(wù)消費(fèi)。

看另一個(gè)例子

Springcloud筆記(2)-Eureka服務(wù)注冊(cè)中心,springcloud,eureka,spring cloud

?微服務(wù)實(shí)例和服務(wù)治理中心的關(guān)系

任何的微服務(wù)都可以對(duì)Eureka服務(wù)治理中心(也稱為Eureka服務(wù)端)發(fā)送REST風(fēng)格的請(qǐng)求。在Eureka的機(jī)制中,一般是由具體的微服務(wù)(也稱為Eureka客戶端)來(lái)主動(dòng)維持它們之間的關(guān)系。微服務(wù)向注冊(cè)中心發(fā)送restful風(fēng)格請(qǐng)求,可以請(qǐng)求在服務(wù)中心注冊(cè)、續(xù)約、下線。

注冊(cè):微服務(wù)啟動(dòng)后,向eureka發(fā)消息注冊(cè)自己的實(shí)例。

續(xù)約:微服務(wù)實(shí)例會(huì)按照一個(gè)頻率對(duì)Eureka服務(wù)器維持心跳,告訴Eureka該實(shí)例是可用的,借此來(lái)避免被Eureka服務(wù)端剔除出去

下線:在系統(tǒng)出現(xiàn)故障,需要停止或者重啟某個(gè)微服務(wù)實(shí)例的時(shí)候,在正常操作下,實(shí)例會(huì)對(duì)Eureka發(fā)送下線REST風(fēng)格請(qǐng)求,告知服務(wù)治理中心,這樣客戶端就不能再請(qǐng)求這個(gè)實(shí)例了

服務(wù)治理中心互相關(guān)系

Eureka可以有效地管理具體的微服務(wù)實(shí)例。但是服務(wù)治理中心之間和本身也會(huì)提供一定的服務(wù),甚至可以說(shuō)服務(wù)治理中心也是Eureka客戶端,因?yàn)樗部梢宰?cè)到其他的Eureka服務(wù)器中,被其他的Eureka服務(wù)器治理

相互復(fù)制:Eureka本身也會(huì)相互注冊(cè),以保證高可用和高性能。各個(gè)Eureka服務(wù)器之間也會(huì)相互復(fù)制,也就是當(dāng)微服務(wù)發(fā)生注冊(cè)、下線和續(xù)約這些操作的時(shí)候,Eureka會(huì)將這些消息轉(zhuǎn)發(fā)到其他服務(wù)治理中心的實(shí)例上,這樣就完成同步了

服務(wù)剔除:在實(shí)際的工作中,有時(shí)候有些服務(wù)會(huì)因?yàn)榫W(wǎng)絡(luò)故障、內(nèi)存溢出或者宕機(jī)而導(dǎo)致服務(wù)不能正常工作,這個(gè)時(shí)候就要將這些無(wú)效的服務(wù)實(shí)例剔除出去

●自我保護(hù):用來(lái)檢測(cè)自己是否正常。

微服務(wù)之間互相調(diào)用

服務(wù)獲?。悍?wù)獲取是指微服務(wù)實(shí)例作為Eureka的客戶端,從Eureka服務(wù)治理中心獲取其他微服務(wù)實(shí)例清單的功能,通過(guò)一種負(fù)載均衡的算法選擇其中的一個(gè)實(shí)例進(jìn)行調(diào)用

●服務(wù)調(diào)用。服務(wù)調(diào)用是指一個(gè)微服務(wù)調(diào)用另一個(gè)微服務(wù)的過(guò)程。在Spring Cloud中,大部分會(huì)采用REST風(fēng)格請(qǐng)求文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-745064.html

到了這里,關(guān)于Springcloud筆記(2)-Eureka服務(wù)注冊(cè)中心的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • SpringCloud搭建Eureka服務(wù)注冊(cè)中心(六)

    SpringCloud搭建Eureka服務(wù)注冊(cè)中心(六)

    前面說(shuō)過(guò)eureka是c/s模式的 ?server服務(wù)端就是服務(wù)注冊(cè)中心,其他的都是client客戶端,服務(wù)端用來(lái)管理所有服務(wù),客戶端通過(guò)注冊(cè)中心,來(lái)調(diào)用具體的服務(wù); 我們先來(lái)搭建下服務(wù)端,也就是服務(wù)注冊(cè)中心; project xmlns=\\\"http://maven.apache.org/POM/4.0.0\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSche

    2024年02月10日
    瀏覽(24)
  • SpringCloud學(xué)習(xí)筆記(二)_Eureka注冊(cè)中心

    SpringCloud學(xué)習(xí)筆記(二)_Eureka注冊(cè)中心

    一、Eureka簡(jiǎn)介 Eureka是一項(xiàng)基于REST(代表性狀態(tài)轉(zhuǎn)移)的服務(wù),主要在AWS云中用于定位服務(wù),以實(shí)現(xiàn)負(fù)載均衡和中間層服務(wù)器的故障轉(zhuǎn)移。我們稱此服務(wù)為Eureka Server。Eureka還帶有一個(gè)基于Java的客戶端組件Eureka Client,它使與服務(wù)的交互更加容易??蛻舳诉€具有一個(gè)內(nèi)置的負(fù)載

    2024年02月11日
    瀏覽(18)
  • 【微服務(wù) SpringCloud】實(shí)用篇 · Eureka注冊(cè)中心

    【微服務(wù) SpringCloud】實(shí)用篇 · Eureka注冊(cè)中心

    微服務(wù)(3) 假如我們的服務(wù)提供者 user-service部署了多個(gè)實(shí)例(不同實(shí)例,端口號(hào)不一致) ,如圖: 大家思考幾個(gè)問(wèn)題: 我們剛才的編程,是寫死在程序里的,ip和端口都是寫死的, 這種硬編碼的方式,之后改變ip和端口代碼不就沒(méi)法用了? order-service在發(fā)起遠(yuǎn)程調(diào)用的時(shí)候

    2024年02月08日
    瀏覽(27)
  • SpringCloud微服務(wù)技術(shù)棧的注冊(cè)中心Eureka

    在微服務(wù)架構(gòu)中,服務(wù)的數(shù)量龐大,而且每個(gè)服務(wù)可能會(huì)有多個(gè)實(shí)例。此時(shí),需要一個(gè)中心化的地方來(lái)管理和維護(hù)各個(gè)服務(wù)的相關(guān)信息,這就是微服務(wù)治理中很重要的一環(huán):服務(wù)注冊(cè)與發(fā)現(xiàn)。其中,服務(wù)注冊(cè)是指將提供服務(wù)的應(yīng)用實(shí)例注冊(cè)到注冊(cè)中心,而服務(wù)發(fā)現(xiàn)則是指從注

    2023年04月09日
    瀏覽(18)
  • SpringCloud微服務(wù) 【實(shí)用篇】| Eureka注冊(cè)中心、Ribbon負(fù)載均衡

    SpringCloud微服務(wù) 【實(shí)用篇】| Eureka注冊(cè)中心、Ribbon負(fù)載均衡

    目錄 一:Eureka注冊(cè)中心 1. Eureka原理 2. 動(dòng)手實(shí)踐 ①搭建EurekaServer ②服務(wù)注冊(cè) ③服務(wù)發(fā)現(xiàn)? 二:Ribbon負(fù)載均衡 1. 負(fù)載均衡原理 2.?負(fù)載均衡策略 3. 懶加載 tips:前些天突然發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家,感興趣的同學(xué)可以

    2024年02月05日
    瀏覽(21)
  • # 從淺入深 學(xué)習(xí) SpringCloud 微服務(wù)架構(gòu)(三)注冊(cè)中心 Eureka(3)

    # 從淺入深 學(xué)習(xí) SpringCloud 微服務(wù)架構(gòu)(三)注冊(cè)中心 Eureka(3)

    段子手168 Eureka Server 可以通過(guò)運(yùn)行多個(gè)實(shí)例并相互注冊(cè)的方式實(shí)現(xiàn)高可用部署, Eureka Server 實(shí)例會(huì)彼此增量地同步信息,從而確保所有節(jié)點(diǎn)數(shù)據(jù)一致。 事實(shí)上,節(jié)點(diǎn)之間相互注冊(cè)是 Eureka Server 的默認(rèn)行為。 1)修改 eureka_server 子工程(子模塊)中的 application.yml 文件 模擬兩個(gè)

    2024年04月26日
    瀏覽(22)
  • 微服務(wù)springcloud 02 創(chuàng)建項(xiàng)目中的三個(gè)service子系統(tǒng),springcloud中注冊(cè)中心Eureka介紹和把三個(gè)系統(tǒng)注冊(cè)到Eureka中

    微服務(wù)springcloud 02 創(chuàng)建項(xiàng)目中的三個(gè)service子系統(tǒng),springcloud中注冊(cè)中心Eureka介紹和把三個(gè)系統(tǒng)注冊(cè)到Eureka中

    item service項(xiàng)目 01.使用springboot創(chuàng)建項(xiàng)目 02.選擇依懶項(xiàng) 在這里插入代碼片 spring web 03.添加sp01-commons依賴 在pom.xml文件中 04.修改application.yml ItemServiceImpl 05.創(chuàng)建接口實(shí)現(xiàn)類和controller類 ItemController 注:Spring MVC接受參數(shù)的幾個(gè)注解,controller類中使用的參數(shù)注解 注解@GetMapping()=@

    2024年02月09日
    瀏覽(93)
  • SpringCloud--Eureka注冊(cè)中心

    SpringCloud--Eureka注冊(cè)中心

    ? ? ? ? ? Spring Cloud 封裝了 Netflix 公司開(kāi)發(fā)的 Eureka 模塊來(lái)實(shí)現(xiàn)服務(wù)注冊(cè)和發(fā)現(xiàn)。Eureka 采用了 C-S 的設(shè)計(jì)架構(gòu)。Eureka Server 作為服務(wù)注冊(cè)功能的服務(wù)器,它是服務(wù)注冊(cè)中心。而系統(tǒng)中的其他微服務(wù),使用 Eureka 的客戶端連接到 Eureka Server并維持心跳連接。這樣系統(tǒng)的維護(hù)人員就

    2024年01月17日
    瀏覽(25)
  • SpringCloud --- Eureka注冊(cè)中心

    SpringCloud --- Eureka注冊(cè)中心

    假如我們的服務(wù)提供者user-service部署了多個(gè)實(shí)例,如圖 思考幾個(gè)問(wèn)題: order-service在發(fā)起遠(yuǎn)程調(diào)用的時(shí)候,該如何得知user-service實(shí)例的ip地址和端口? 有多個(gè)user-service實(shí)例地址,order-service調(diào)用時(shí)該如何選擇? order-service如何得知某個(gè)user-service實(shí)例是否依然健康,是不是已經(jīng)宕

    2023年04月24日
    瀏覽(12)
  • 【SpringCloud-1】注冊(cè)中心-Eureka

    【SpringCloud-1】注冊(cè)中心-Eureka

    springcloud微服務(wù),相對(duì)于dubbo這種SOA架構(gòu),提供了一站式的全套解決方案,什么意思呢?就是說(shuō)springcloud不需要依賴其他組件,自己提供了全套的? 常規(guī)項(xiàng)目需要使用的技術(shù)和解決問(wèn)題的方案。? 比如dubbo需要依賴zk作為注冊(cè)中心,springcloud有自己的注冊(cè)中心,對(duì)于其他如鏈路追

    2024年02月09日
    瀏覽(18)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包