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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

springcloud 之服务注册与发现Eureka Server

發(fā)布時間:2023/12/15 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 springcloud 之服务注册与发现Eureka Server 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

我們在做分布式服務的時候總免不了聽到“注冊中心”這些詞,那時候的我們總感覺這些東西很神秘很高大上,其實等我們正在去了解的時候發(fā)現(xiàn)其實他就是一個用來登記服務實例的一個容器而已,例如學過dubbo的童鞋應該都知道dubbo也有一個服務注冊中心,且是通過zookeeper實現(xiàn)的,那么服務注冊中心是用來干什么的呢?

如圖(我摘抄的):


1.首先簡單來說服務注冊中心就是用來登記服務的,即:所有的服務都在我這進行注冊登記,那么我就知道每個服務的名稱實例,以及訪問的url了,一旦發(fā)生變更,重啟服務后會自動重新注冊

2.對于調用方,如果我需要調用某個服務,那么我不需要通過http:xxxx的方式去直連某個請求地址,而是直接去服務中心拿到我需要調用的實例,然后定位到我需要調用的服務

3.從圖中我們可以看出它包括服務發(fā)現(xiàn)組件、服務提供者、服務消費者;服務發(fā)現(xiàn)組件就是用來發(fā)現(xiàn)并登記服務的(包括服務的地址、端口等);服務提供者即被調用方,服務提供者將自身像注冊中心登記,然后被其它消費方調用;服務消費者即服務調用方,他們從注冊中心拿到需要調用的服務提供者的實例,然后發(fā)起請求;

4.服務注冊中會有一個心跳檢測功能,定時向已注冊的各個服務發(fā)送心跳以檢測該服務是否宕機


springcloud默認的服務發(fā)現(xiàn)機制是通過eureka實現(xiàn)的而不是zookeeper,這個是因為springcloud的理念不同(CAP原則注重點不同);

好了,了解了基本概念后我們通過eureka來搭建一個基本的服務注冊發(fā)現(xiàn)中心吧!

1.創(chuàng)建一個項目:discover-server

2.打開pom.xml并加入相關依賴:

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>重點依賴:spring-cloud-starter-eureka-server

3.然后打開application-dev.properties并加入以下內容:

#端口 server.port=8761 #應用名稱 spring.application.name=discover-server #app name eureka.instance.hostname=localhost #通過eureka.client.registerWithEurekafalsefetchRegistryfalse來表明自己是一個eureka server. eureka.client.register-with-eureka=false eureka.client.fetch-registry=false eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/ #log level logging.level.root=debug

4.關閉eureka自我保護(當存在失效服務節(jié)點時會在指定的時間移除,生產環(huán)境可以開啟)

#-----------------------------------關閉eureka自我保護--------------------------------------- #注意:更改Eureka更新頻率將打破服務器的自我保護功能,生產環(huán)境下不建議自定義這些配置。 #Eureka Server端:配置關閉自我保護,并按需配置Eureka Server清理無效節(jié)點的時間間隔 #設為false,關閉自我保護 eureka.server.enable-self-preservation=false #清理間隔(單位毫秒,默認是60*1000eureka.server.eviction-interval-timer-in-ms=4000

5.打開啟動類加入注解標識該服務為一個eureka服務端

@EnableEurekaServer @SpringBootApplication public class Xsignal2DiscoverServerApplication {public static void main(String[] args) {SpringApplication.run(Xsignal2DiscoverServerApplication.class, args); } }

6.然后啟動項目


至此,congratulation,你已經成功搭建了一個服務發(fā)現(xiàn)中心!下一篇文章我會教你如何向其中注冊服務。

總結

以上是生活随笔為你收集整理的springcloud 之服务注册与发现Eureka Server的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。