spring clould(一)服務註冊與發現(Eureka)
阿新 • • 發佈:2019-01-04
前言
Spring Cloud是一個基於Spring Boot實現的雲應用開發工具。Spring cloud包含了很多子專案,用於解決我們服務開發中需要對面的問題,比如服務叢集、服務發現、斷路器、智慧路由。 本次開發專案中是用Spring Cloud Eureka
實現在服務治理。
1、服務治理
Spring cloud提供了多個服力治理框架,比如:Netflix Eureka、Consul、Zookeeper。
2、Spring Cloud Eureka實現服務治理
Spring Cloud Eureka是Spring Cloud Netflix專案下的服務治理模組
(1)建立服務註冊中心
建立一個spring boot 專案eureka-service,在Pom.xml中加入如下依賴
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.2.RELEASE</version> <relativePath/> </parent> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artifactId> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Finchley.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
(2)啟動方法
@SpringBootApplication
@EnableEurekaServer
public class MainApplication {
public static void main(String[] args) {
SpringApplication.run(MainApplication .class, args);
}
}
(3)application.propertis配置
spring.application.name=eureka-server server.port=80791 eureka.instance.hostname=localhost eureka.client.register-with-eureka=false eureka.client.fetch-registry=false
啟動工程後,訪問:http://localhost:80791/,可以看到註冊服務頁面。
(4)建立服務提供方
建立一個spring boot 專案eureka-client,在Pom.xml中加入如下依賴
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.2.RELEASE</version>
<relativePath/>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Finchley.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
(5)啟動方法
@EnableDiscoveryClient
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application .class, args);
}
}
(6)application.properties配置
spring.application.name=eureka-client
server.port=80792
##eureka註冊中心的地址
eureka.client.serviceUrl.defaultZone=http://localhost:80791/eureka/