Eureka作為服務(wù)注冊(cè)與發(fā)現(xiàn)的組件,Eureka2.0已經(jīng)閉源了,但是本教程還是以Eureka為核心進(jìn)行展開(kāi)。
1、三個(gè)模塊
?Spring Cloud Eureka是Spring Cloud Netflix微服務(wù)套件之一,基于Netflix Eureka做了二次封裝,主要負(fù)責(zé)完成微服務(wù)架構(gòu)中的服務(wù)治理功能。
?eueka的3個(gè)重要模塊,eureka-server,service-provider,service-consumer
?eureka-server:服務(wù)端,提供服務(wù)注冊(cè)和發(fā)現(xiàn);
?eureka-client-service-provider:服務(wù)端,服務(wù)提供者,通過(guò)http rest告知服務(wù)端注冊(cè),更新,取消服務(wù);
?eureka-client-service-consumer:客戶端,服務(wù)消費(fèi)者,通過(guò)http rest從服務(wù)端獲取需要服務(wù)的地址列表,然后配合一些負(fù)載均衡策略(ribbon)來(lái)調(diào)用服務(wù)端服務(wù)。?
2、eureka-server
? Eureka Server 的服務(wù)注冊(cè)數(shù)據(jù)存儲(chǔ)層是雙層的 ConcurrentHashMap(線程安全高效的 Map 集合)。
? 第一層的key=spring.application.name 也就是客戶端實(shí)例注冊(cè)的應(yīng)用名;value 為嵌套的 ConcurrentHashMap。
? 第二層的key=instanceId 也就是服務(wù)的唯一實(shí)例 ID,value 為 Lease 對(duì)象,Lease 對(duì)象存儲(chǔ)著這個(gè)實(shí)例的所有注冊(cè)信息,包括 ip 、端口、屬性等。
? 申明語(yǔ)句如下:?
? private final ConcurrentHashMap<String, Map<String, Lease<InstanceInfo>>> registry= new ConcurrentHashMap<String, Map<String, Lease<InstanceInfo>>>();
? 服務(wù)注冊(cè)表沒(méi)有持久化到數(shù)據(jù)庫(kù),我想應(yīng)該是出于性能的考慮吧。畢竟,注冊(cè)表信息是需要定時(shí)獲取、更新的。
3、創(chuàng)建服務(wù)注冊(cè)中心——demo
3.1、引入依賴(lài)pom.xml
<dependencies> ??????????<!--www.1b23.com--> ??????????<dependency> ???????????????<groupId>org.springframework.boot</groupId> ???????????????<artifactId>spring-boot-starter-web</artifactId> ?????????</dependency> ????????<dependency> ??????????????<groupId>org.springframework.cloud</groupId> ??????????????<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> ????????</dependency> ????????<dependency> ?????????????<groupId>org.springframework.boot</groupId> ?????????????<artifactId>spring-boot-starter-test</artifactId> ????????????<scope>test</scope> ??????????</dependency> ?????</dependencies>
3.2、eureka server啟動(dòng)代碼? ??
//www.1b23.com ???????@SpringBootApplication ???????@EnableEurekaServer ???????public?class?EurekaServerApplication?{ ?????????????public?static?void?main(String[]?args)?{ ???????????????????SpringApplication.run(EurekaServerApplication.class,?args); ????????????} ???????}
@EnableEurekaServer的主要作用是啟動(dòng)EurekaServer運(yùn)行環(huán)境和上下文。
3.3、application配置文件
?application配置文件可以是xml或yml結(jié)構(gòu),我比較喜歡xml結(jié)構(gòu),yml是縮進(jìn)格式,我覺(jué)得比較容易寫(xiě)錯(cuò)。
? server.port=8080
? spring.application.name: eureka-server?
? #服務(wù)注冊(cè)中心實(shí)例的主機(jī)名
?eureka.instance.hostname: localhost
? #表示是否將自己注冊(cè)在EurekaServer上,默認(rèn)為true。由于當(dāng)前應(yīng)用就是EurekaServer,所以置為false
? eureka.client.register-with-eureka: false
?#表示表示是否從EurekaServer獲取注冊(cè)信息,默認(rèn)為true。單節(jié)點(diǎn)不需要同步其他的EurekaServer節(jié)點(diǎn)的數(shù)據(jù)
?eureka.client.fetch-registry: false? ? ? ?
?#設(shè)置Eureka的地址
?eureka.client.service-url.defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
3.4、查看eureka server
?訪問(wèn)http://localhost:8080/地址。如圖上部分
??Environment: 環(huán)境,默認(rèn)為test,生產(chǎn)環(huán)境建議改下,看著順眼
? Data center: 數(shù)據(jù)中心,生產(chǎn)環(huán)境建議改下
? Current time:當(dāng)前的系統(tǒng)時(shí)間
? Uptime:已經(jīng)運(yùn)行了多少時(shí)間
? Lease expiration enabled:是否啟用租約過(guò)期 ,自我保護(hù)機(jī)制關(guān)閉時(shí),該值默認(rèn)是true, 自我保護(hù)機(jī)制開(kāi)啟之后為false。
? Renews threshold: 每分鐘最少續(xù)約數(shù),Eureka Server 期望每分鐘收到客戶端實(shí)例續(xù)約的總數(shù)。
? Renews (last min): 最后一分鐘的續(xù)約數(shù)量(不含當(dāng)前,1分鐘更新一次),Eureka Server 最后 1 分鐘收到客戶端實(shí)例續(xù)約的總數(shù)。
??
? 頁(yè)面下部分:
? total-avail-memory : 總共可用的內(nèi)存
? environment : 環(huán)境名稱(chēng),默認(rèn)test?
? num-of-cpus : CPU的個(gè)數(shù)
? current-memory-usage : 當(dāng)前已經(jīng)使用內(nèi)存的百分比
? server-uptime : 服務(wù)啟動(dòng)時(shí)間
? registered-replicas : 相鄰集群復(fù)制節(jié)點(diǎn)
?unavailable-replicas :不可用的集群復(fù)制節(jié)點(diǎn),? ?
? available-replicas :可用的相鄰集群復(fù)制節(jié)點(diǎn)
? ipAddr:eureka服務(wù)端IP
? status:eureka服務(wù)端狀態(tài)
創(chuàng)新互聯(lián)www.cdcxhl.cn,專(zhuān)業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開(kāi)啟,新人活動(dòng)云服務(wù)器買(mǎi)多久送多久。
文章標(biāo)題:SpringcloudEurekaServer配置-創(chuàng)新互聯(lián)
本文URL:http://chinadenli.net/article0/dspsoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、軟件開(kāi)發(fā)、虛擬主機(jī)、手機(jī)網(wǎng)站建設(shè)、ChatGPT、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容