場景 SpringCloud學習之運行第一個Eureka程式: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/90611451 SpringCloud -創建統一的依賴管理: https://blog.csdn.net/BADAO ...
場景
SpringCloud學習之運行第一個Eureka程式:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/90611451
SpringCloud -創建統一的依賴管理:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102530574
Rureka(服務發現框架)
Eureka是Netflix開發的服務發現框架,本身是一個基於REST的服務,主要用於定位運行在AWS域中的中間層服務,以達到負載均衡和中間層服務故障轉移的目的。SpringCloud將它集成在其子項目spring-cloud-netflix中,以實現SpringCloud的服務發現功能。
Eureka包含兩個組件:Eureka Server和Eureka Client。
Eureka Server提供服務註冊服務,各個節點啟動後,會在Eureka
Server中進行註冊,這樣EurekaServer中的服務註冊表中將會存儲所有可用服務節點的信息,服務節點的信息可以在界面中直觀的看到。
Eureka Client是一個java客戶端,用於簡化與Eureka
Server的交互,客戶端同時也就是一個內置的、使用輪詢(round-robin)負載演算法的負載均衡器。
在應用啟動後,將會向Eureka Server發送心跳,預設周期為30秒,如果Eureka
Server在多個心跳周期內沒有接收到某個節點的心跳,Eureka Server將會從服務註冊表中把這個服務節點移除(預設90秒)。
Eureka Server之間通過複製的方式完成數據的同步,Eureka還提供了客戶端緩存機制,即使所有的Eureka
Server都掛掉,客戶端依然可以利用緩存中的信息消費其他服務的API。綜上,Eureka通過心跳檢查、客戶端緩存等機制,確保了系統的高可用性、靈活性和可伸縮性。
註:
博客:
https://blog.csdn.net/badao_liumang_qizhi
關註公眾號
霸道的程式猿
獲取編程相關電子書、教程推送與免費下載。
實現
參照上面創建統一的依賴管理的實現,新建文件夾以及pom文件
然後複製如下代碼到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標簽要與上面的統一的依賴管理對應起來。
要修改指定的程式入口類為自己相應的路徑。
然後手動將pom.xml托管。
然後新建src/main/java目錄
然後將其設置為源碼目錄
然後再新建src/main/resources
然後將其設置為資源目錄
然後再java下新建package,這裡以完整項目名作為尾碼包名
然後新建應用啟動類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表示啟動一個服務註冊中心
如果代碼有紅色錯誤出現,需要設置JDK
然後再resources下新建application.yml
spring: application: name: hello-spring-cloud-eureka server: port: 8761 eureka: instance: hostname: localhost client: registerWithEureka: false fetchRegistry: false serviceUrl: defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
註:
1.服務註冊與發現是根據上面的name去尋找。
2.port表示埠號。
3.hostname表示eureka服務的地址,這裡是本地所以是localhost。
4.client下的兩個為false的配置,表示這是服務端,如果不加則表示為客戶端。
5.serviceURL設置eureka的地址。
然後打開Maven面板,雙擊Install,不然會提示程式找不到啟動類。
然後運行啟動類。打開瀏覽輸入:
localhost:8761
源碼下載
https://download.csdn.net/download/badao_liumang_qizhi/11858953