javascript
SpringCloud-服务注册与实现-Eureka创建服务注册中心(附源码下载)
場景
SpringCloud學(xué)習(xí)之運行第一個Eureka程序:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/90611451
SpringCloud -創(chuàng)建統(tǒng)一的依賴管理:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102530574
Rureka(服務(wù)發(fā)現(xiàn)框架)
Eureka是Netflix開發(fā)的服務(wù)發(fā)現(xiàn)框架,本身是一個基于REST的服務(wù),主要用于定位運行在AWS域中的中間層服務(wù),以達到負載均衡和中間層服務(wù)故障轉(zhuǎn)移的目的。SpringCloud將它集成在其子項目spring-cloud-netflix中,以實現(xiàn)SpringCloud的服務(wù)發(fā)現(xiàn)功能。
Eureka包含兩個組件:Eureka Server和Eureka Client。
Eureka Server提供服務(wù)注冊服務(wù),各個節(jié)點啟動后,會在Eureka Server中進行注冊,這樣EurekaServer中的服務(wù)注冊表中將會存儲所有可用服務(wù)節(jié)點的信息,服務(wù)節(jié)點的信息可以在界面中直觀的看到。
Eureka Client是一個java客戶端,用于簡化與Eureka Server的交互,客戶端同時也就是一個內(nèi)置的、使用輪詢(round-robin)負載算法的負載均衡器。
在應(yīng)用啟動后,將會向Eureka Server發(fā)送心跳,默認周期為30秒,如果Eureka Server在多個心跳周期內(nèi)沒有接收到某個節(jié)點的心跳,Eureka Server將會從服務(wù)注冊表中把這個服務(wù)節(jié)點移除(默認90秒)。
Eureka Server之間通過復(fù)制的方式完成數(shù)據(jù)的同步,Eureka還提供了客戶端緩存機制,即使所有的Eureka Server都掛掉,客戶端依然可以利用緩存中的信息消費其他服務(wù)的API。綜上,Eureka通過心跳檢查、客戶端緩存等機制,確保了系統(tǒng)的高可用性、靈活性和可伸縮性。
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
關(guān)注公眾號
霸道的程序猿
獲取編程相關(guān)電子書、教程推送與免費下載。
實現(xiàn)
參照上面創(chuàng)建統(tǒng)一的依賴管理的實現(xiàn),新建文件夾以及pom文件
然后復(fù)制如下代碼到pom.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.badao</groupId><artifactId>hello-spring-cloud-dependencies</artifactId><version>1.0.0-SNAPSHOT</version><relativePath>../hello-spring-cloud-dependencies/pom.xml</relativePath></parent><artifactId>hello-spring-cloud-eureka</artifactId><packaging>jar</packaging><name>hello-spring-cloud-eureka</name><url>https://blog.csdn.net/badao_liumang_qizhi</url><inceptionYear>2019-Now</inceptionYear><dependencies><!-- Spring Boot Begin --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!-- Spring Boot End --><!-- Spring Cloud Begin --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency><!-- Spring Cloud End --></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><!--指定程序入口類--><mainClass>com.badao.hello.spring.cloud.eureka.EurekaApplication</mainClass></configuration></plugin></plugins></build> </project>注意:
這里的parent標簽要與上面的統(tǒng)一的依賴管理對應(yīng)起來。
要修改指定的程序入口類為自己相應(yīng)的路徑。
然后手動將pom.xml托管。
然后新建src/main/java目錄
?
然后將其設(shè)置為源碼目錄
?
然后再新建src/main/resources
?
然后將其設(shè)置為資源目錄
?
然后再java下新建package,這里以完整項目名作為后綴包名
?
然后新建應(yīng)用啟動類EurekaApplication
?
添加如下代碼
package com.badao.hello.spring.cloud.eureka;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;@SpringBootApplication @EnableEurekaServer public class EurekaApplication {public? static? void main(String[] args){SpringApplication.run(EurekaApplication.class,args);} }注:
添加注解@EnableEurekaServer表示啟動一個服務(wù)注冊中心
如果代碼有紅色錯誤出現(xiàn),需要設(shè)置JDK
?
然后再resources下新建application.yml
spring:application:name: hello-spring-cloud-eurekaserver:port: 8761eureka:instance:hostname: localhostclient:registerWithEureka: falsefetchRegistry: falseserviceUrl:defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/注:
1.服務(wù)注冊與發(fā)現(xiàn)是根據(jù)上面的name去尋找。
2.port表示端口號。
3.hostname表示eureka服務(wù)的地址,這里是本地所以是localhost。
4.client下的兩個為false的配置,表示這是服務(wù)端,如果不加則表示為客戶端。
5.serviceURL設(shè)置eureka的地址。
然后打開Maven面板,雙擊Install,不然會提示程序找不到啟動類。
?
然后運行啟動類。打開瀏覽輸入:
localhost:8761
?
源碼下載
https://download.csdn.net/download/badao_liumang_qizhi/11858953
總結(jié)
以上是生活随笔為你收集整理的SpringCloud-服务注册与实现-Eureka创建服务注册中心(附源码下载)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringCloud -创建统一的依赖
- 下一篇: SpringCloud-服务注册与实现-