場景
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@EnableEurekaServerpublic class EurekaApplication { public static void main(String[] args){ SpringApplication.run(EurekaApplication.class,args); }}
注:
添加注解@EnableEurekaServer表示啟動一個服務注冊中心
如果代碼有紅色錯誤出現,需要設定JDK
然后再resources下新建application.yml
spring: application: name: hello-spring-cloud-eurekaserver: port: 8761eureka: 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
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/46448.html
標籤:架構設計
下一篇:SpringMVC框架之第一篇
