SpringCloud之eureka服務註冊和服務發現
服務註冊中心 :eureka-server
作用:服務註冊中心提供服務註冊功能
服務提供方:eureka-client
作用:註冊服務到服務註冊中心
服務註冊中心 : eureka-server
- 建立 一個 Spring-Boot 專案 ( 在 springboot 專案中新增 jar 包 依賴 )

1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4<modelVersion>4.0.0</modelVersion> 5 6<groupId>cn.wh</groupId> 7<artifactId>firsttest</artifactId> 8<version>0.0.1-SNAPSHOT</version> 9<packaging>jar</packaging> 10 11<name>firsttest</name> 12<description>Demo project for Spring Boot</description> 13 14<parent> 15<groupId>org.springframework.boot</groupId> 16<artifactId>spring-boot-starter-parent</artifactId> 17<version>2.0.4.RELEASE</version> 18<relativePath/> <!-- lookup parent from repository --> 19</parent> 20 21<properties> 22<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 23<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 24<java.version>1.8</java.version> 25<spring-cloud.version>Finchley.SR1</spring-cloud.version> 26</properties> 27 28<dependencies> 29<dependency> 30<groupId>org.springframework.cloud</groupId> 31<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> 32</dependency> 33 34<dependency> 35<groupId>org.springframework.boot</groupId> 36<artifactId>spring-boot-starter-test</artifactId> 37<scope>test</scope> 38</dependency> 39</dependencies> 40 41<dependencyManagement> 42<dependencies> 43<dependency> 44<groupId>org.springframework.cloud</groupId> 45<artifactId>spring-cloud-dependencies</artifactId> 46<version>${spring-cloud.version}</version> 47<type>pom</type> 48<scope>import</scope> 49</dependency> 50</dependencies> 51</dependencyManagement> 52 53<build> 54<plugins> 55<plugin> 56<groupId>org.springframework.boot</groupId> 57<artifactId>spring-boot-maven-plugin</artifactId> 58</plugin> 59</plugins> 60</build> 61 62 63 </project>Pom檔案
2. 在springboot 的核心類上 加上 @EnableEurekaServer
配置核心配置檔案
1 #埠號 2 server.port= 8082 3 eureka.instance.hostname= localhost 4 ##false來表明自己是一個eureka server 5 eureka.client.register-with-eureka=false 6 ##false來表明自己是一個eureka server 7 eureka.client.fetch-registry=false 8 eureka.client.service-url.defaultZone= http://${eureka.instance.hostname}:${server.port}/eureka/ 9 #關閉springboot自帶的ioc 10 spring.mvc.favicon.enabled = false 配置資訊
啟動我們的專案訪問我們的埠號
這個頁面就是我們的註冊中心
增加一個客戶端 對註冊中心進行註冊
1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4<modelVersion>4.0.0</modelVersion> 5 6<groupId>cn.wh</groupId> 7<artifactId>firsttest</artifactId> 8<version>0.0.1-SNAPSHOT</version> 9<packaging>jar</packaging> 10 11<name>firsttest</name> 12<description>Demo project for Spring Boot</description> 13 14<parent> 15<groupId>org.springframework.boot</groupId> 16<artifactId>spring-boot-starter-parent</artifactId> 17<version>2.0.4.RELEASE</version> 18<relativePath/> <!-- lookup parent from repository --> 19</parent> 20 21<properties> 22<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 23<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 24<java.version>1.8</java.version> 25<spring-cloud.version>Finchley.SR1</spring-cloud.version> 26</properties> 27 28<dependencies> 29<dependency> 30<groupId>org.springframework.cloud</groupId> 31<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> 32</dependency> 33 34<dependency> 35<groupId>org.springframework.boot</groupId> 36<artifactId>spring-boot-starter-test</artifactId> 37<scope>test</scope> 38</dependency> 39</dependencies> 40 41<dependencyManagement> 42<dependencies> 43<dependency> 44<groupId>org.springframework.cloud</groupId> 45<artifactId>spring-cloud-dependencies</artifactId> 46<version>${spring-cloud.version}</version> 47<type>pom</type> 48<scope>import</scope> 49</dependency> 50</dependencies> 51</dependencyManagement> 52 53<build> 54<plugins> 55<plugin> 56<groupId>org.springframework.boot</groupId> 57<artifactId>spring-boot-maven-plugin</artifactId> 58</plugin> 59</plugins> 60</build> 61 62 63 </project> POM 檔案
客戶端的核心配置
1 eureka.client.service-url.defaultZone= http://localhost:8082/eureka/ 2 server.port= 8084 3 spring.application.name= service-hi 核心程式碼
在客戶端中 使用註解標明這是一個客戶端 為下面的負載均衡 做鋪墊
客戶端和 註冊中心同時啟動
在註冊中心 可以看到 自己配置的客戶端已經 成功註冊