springcloud元件Eureka
阿新 • • 發佈:2019-02-15
1.什麼是eureka
Eureka是Netflix開發的服務發現元件,本身是一個基於REST的服務。Spring Cloud將它整合在其子專案spring-cloud-netflix中,以實現Spring Cloud的服務發現功能。
2.在哪可以找到
3.如何使用
電商案例模擬:客戶端-->訂單微服務-->使用者微服務
3.1 建立父工程[springcloud-study]
3.1.1 程式碼結構
3.1.2 引入springcloud版本依賴
<?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> <groupId>com.iot</groupId> <artifactId>springcloud-study</artifactId> <version>1.0-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.13.RELEASE</version> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> <dependencyManagement> <!--springcloud版本依賴--> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Dalston.SR5</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> </project>
3.2 在父工程上建立[eureka-server]
3.2.1 刪除父工程src目錄
目錄結構
3.2.2 加入eureka服務端依賴
pom檔案
<?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>springcloud-study</artifactId> <groupId>com.iot</groupId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <packaging>jar</packaging> <artifactId>eureka-server</artifactId> <dependencies> <!--eureka服務端--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artifactId> </dependency> </dependencies> <build> <plugins> <!--springboot打包外掛--> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
3.2.3 建立Eureka 服務啟動類
package com.myx; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; /** * 描述: Eureka 服務啟動類 * @author: myx * @date: 2018/9/11 * Copyright © 2018-hotpot. All rights reserved. */ @SpringBootApplication @EnableEurekaServer public class EurekaApplication { public static void main(String[] args) { new SpringApplicationBuilder(EurekaApplication.class).run(args); } }
3.2.4 建立application.yml檔案
server:
port: 8761
#spring
spring:
application:
name: eureka-server
eureka:
client:
#取消向eureka server(註冊中心)註冊
register-with-eureka: false
#取消向eureka server(註冊中心)獲取註冊資訊
fetch-registry: false
service-url:
#eureka 提供服務發現的地址
defaultZone: http://localhost:8761/eureka