溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

spring cloud服務(wù)的注冊(cè)與發(fā)現(xiàn)怎么實(shí)現(xiàn)

發(fā)布時(shí)間:2021-12-27 17:18:53 來(lái)源:億速云 閱讀:345 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容主要講解“spring cloud服務(wù)的注冊(cè)與發(fā)現(xiàn)怎么實(shí)現(xiàn)”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“spring cloud服務(wù)的注冊(cè)與發(fā)現(xiàn)怎么實(shí)現(xiàn)”吧!

spring cloud簡(jiǎn)介

spring cloud 為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)的一些工具,包括配置管理、服務(wù)發(fā)現(xiàn)、斷路器、路由、微代理、事件總線、全局鎖、決策競(jìng)選、分布式會(huì)話等等。它運(yùn)行環(huán)境簡(jiǎn)單,可以在開發(fā)人員的電腦上跑。另外說(shuō)明spring cloud是基于springboot的,所以需要開發(fā)中對(duì)springboot有一定的了解。另外對(duì)于“微服務(wù)架構(gòu)” 不了解的話,可以通過(guò)搜索引擎搜索“微服務(wù)架構(gòu)”了解下。

創(chuàng)建服務(wù)注冊(cè)中心

在這里,我們需要用的的組件上Spring Cloud Netflix的Eureka ,eureka是一個(gè)服務(wù)注冊(cè)和發(fā)現(xiàn)模塊。

2.1 首先創(chuàng)建一個(gè)maven主工程。

2.2 然后創(chuàng)建2個(gè)model工程:一個(gè)model工程作為服務(wù)注冊(cè)中心,即Eureka Server,另一個(gè)作為Eureka Client。

下面以創(chuàng)建server為例子,詳細(xì)說(shuō)明創(chuàng)建過(guò)程:

右鍵工程->創(chuàng)建model-> 選擇spring initialir 

下一步->選擇cloud discovery->eureka server ,然后一直下一步就行了。

spring cloud服務(wù)的注冊(cè)與發(fā)現(xiàn)怎么實(shí)現(xiàn)

創(chuàng)建完后的工程的pom.xml文件如下:

2.3 啟動(dòng)一個(gè)服務(wù)注冊(cè)中心,只需要一個(gè)注解@EnableEurekaServer,這個(gè)注解需要在springboot工程的啟動(dòng)application類上加:

**2.4 **eureka是一個(gè)高可用的組件,它沒有后端緩存,每一個(gè)實(shí)例注冊(cè)之后需要向注冊(cè)中心發(fā)送心跳(因此可以在內(nèi)存中完成),在默認(rèn)情況下erureka server也是一個(gè)eureka client ,必須要指定一個(gè) server。eureka server的配置文件appication.yml:

通過(guò)eureka.client.registerWithEureka:false和fetchRegistry:false來(lái)表明自己是一個(gè)eureka server.

2.5 eureka server 是有界面的,啟動(dòng)工程,打開瀏覽器訪問(wèn):
http://localhost:8761 ,界面如下:

No application available 沒有服務(wù)被發(fā)現(xiàn) ……^_^

因?yàn)闆]有注冊(cè)服務(wù)當(dāng)然不可能有服務(wù)被發(fā)現(xiàn)了。

創(chuàng)建一個(gè)服務(wù)提供者 (eureka client)

當(dāng)client向server注冊(cè)時(shí),它會(huì)提供一些元數(shù)據(jù),例如主機(jī)和端口,URL,主頁(yè)等。Eureka server 從每個(gè)client實(shí)例接收心跳消息。 如果心跳超時(shí),則通常將該實(shí)例從注冊(cè)server中刪除。

創(chuàng)建過(guò)程同server類似,創(chuàng)建完pom.xml如下:

通過(guò)注解@EnableEurekaClient 表明自己是一個(gè)eurekaclient.

僅僅@EnableEurekaClient是不夠的,還需要在配置文件中注明自己的服務(wù)注冊(cè)中心的地址,application.yml配置文件如下:

需要指明spring.application.name,這個(gè)很重要,這在以后的服務(wù)與服務(wù)之間相互調(diào)用一般都是根據(jù)這個(gè)name 。
啟動(dòng)工程,打開http://localhost:8761 ,即eureka server 的網(wǎng)址:

spring cloud服務(wù)的注冊(cè)與發(fā)現(xiàn)怎么實(shí)現(xiàn)

你會(huì)發(fā)現(xiàn)一個(gè)服務(wù)已經(jīng)注冊(cè)在服務(wù)中了,服務(wù)名為SERVICE-HI ,端口為7862

這時(shí)打開 http://localhost:8762/hi?name=forezp ,你會(huì)在瀏覽器上看到 :

hi forezp,i am from port:8762

到此,相信大家對(duì)“spring cloud服務(wù)的注冊(cè)與發(fā)現(xiàn)怎么實(shí)現(xiàn)”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI