spring cloud---服务治理框架 Eureka
首先创建spring boot 工程,引入 如下 pom.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.7.RELEASE</version>
<relativePath></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>Brixton.SR5</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
通过@EnableEurekaServer注解开启服务注册中心功能
@EnableEurekaServer
@SpringBootApplication
public class MicroserviceDiscoveryEurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(MicroserviceDiscoveryEurekaServerApplication.class, args);
}
}
默认设置下,该服务注册中心会将自己当成客户端来注册自己,我们这只是单体的结构,所以要禁用它的客户端注册行为,很简单,只需要在配置文件里添加如下配置
server:
port: 8761
spring:
application:
name: microservice-provider-movie
eureka:
client:
register-with-eureka: false//禁用想注册中心注册自己
fetch-register: false//是否去检索服务
serviceUrl:
defaultZone: http://localhost:8761/eureka/
完成上述配置后,启动应用,并访问 http://localhost:8761/可以看到如下所示的eureka信息界面,其中 instance currently registered with eureka是空的,说明还没有实例在这注册
注册服务
在完成了注册中心的搭建后,再添加一个springboot应用到eureka中去,创建一个springboot应用,并添加如下依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.2.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-cloud.version>Finchley.RC2</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
<version>1.4.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
再配置文件里加上
eureka:
client:
serviceUrl:
dedfaultZone: http://localhost:8761/eureka
spring:
application:
name: microservice-provider-movie
再启动类上添加@EnableDiscoveryClient注解,启动项目再控制台可以看到这样的日志,表示注册成功
2018-10-01 09:18:22.462 INFO 11060 --- [nfoReplicator-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_MICROSERVICE-PROVIDER-MOVIE/localhost:microservice-provider-movie:8083: registering service...
2018-10-01 09:18:22.561 INFO 11060 --- [nfoReplicator-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_MICROSERVICE-PROVIDER-MOVIE/localhost:microservice-provider-movie:8083 - registration status: 204
也可以再eureka的信息面板