Springboot-微服務-微服務元件之服務管理-eureka
阿新 • • 發佈:2021-07-17
Springboot-微服務-微服務元件之服務管理-eureka
Eureka註冊中心
Eureka做什麼?
Eureka就好比是滴滴,負責管理、記錄服務提供者的資訊。服務呼叫者無需自己尋找服務,而是把自己的需求告訴Eureka,然後Eureka會把符合你需求的服務告訴你。
同時,服務提供方與Eureka之間通過“心跳”
機制進行監控,當某個服務提供方出現問題,Eureka自然會把它從服務列表中剔除。
這就實現了服務的自動註冊、發現、狀態監控。
原理
基本架構
- Eureka:就是服務註冊中心(可以是一個叢集),對外暴露自己的地址
- 提供者:啟動後向Eureka註冊自己資訊(地址,提供什麼服務)
- 消費者:向Eureka訂閱服務,Eureka會將對應服務的所有提供者地址列表傳送給消費者,並且定期更新
- 心跳(續約):提供者定期通過http方式向Eureka重新整理自己的狀態
入門
啟動一個Eureka並編寫相關注入配置
pom檔案
引入兩個依賴
- springboot-web
- eureka-server依賴
<?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"> <parent> <artifactId>spring-could-demo</artifactId> <groupId>com.caicai.springcould.demo</groupId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>eureka-service</artifactId> <!--引入eureka 服務端 依賴--> <dependencies> <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> <version>2.0.1.RELEASE</version> </dependency> </dependencies> </project>
編寫Springboot啟動類
- 開啟eureka註解
- 開啟springboot 註解
package com.caicai; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @EnableEurekaServer//標記該應用為eureka應用,新增該註解 @SpringBootApplication public class EurekaServer { public static void main(String[] args) { SpringApplication.run(EurekaServer.class); } }
編寫一個application.yml配置檔案
- 配置啟動埠
- 配置應用名稱
- 註冊測試
server:
port: 8082 #配置埠
eureka:#配置註冊
client:
service-url:
defaultZone: http://localhost:8082/eureka
instance:
prefer-ip-address: true #使用本地地址
ip-address: 127.0.0.1
#配置應用名稱
spring:
application:
name: eureka-server1
服務的註冊
- 引入eureka客戶端依賴
- springboot 啟動類接入開啟eurekaclient 註解
- 在application.yml 種配置註冊入服務端
引入eureka客戶端依賴
POM檔案
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<version>2.0.1.RELEASE</version>
</dependency>
springboot 啟動類接入開啟eurekaclient 註解
package com.caicai;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import tk.mybatis.spring.annotation.MapperScan;
@EnableDiscoveryClient
//配置允許開啟客戶端。這裡沒有配置eurekaclient是因為如配置了,就只能使用這一種,使用discover 它支援,eureka、zookeeper
@SpringBootApplication
@MapperScan("com.caicai.User.mapper")
public class UserApplication {
public static void main(String[] args) {
SpringApplication.run(UserApplication.class);
}
}
在application.yml 種配置註冊入服務端
eureka:
client:
service-url:
defaultZone: http://localhost:8082/eureka
開開心心,上班!
快快樂樂,遊玩!
及時行樂!