简介
上一篇《Spring Cloud 学习笔记01----微服务简介》我们简单的对Spring Cloud做了个介绍。接下来我们接着学习Spring Cloud 的一个核心组件 Spring Cloud Eureka。Spring Cloud Eureka主要负责完成微服务架构中的服务治理功能,其包括 服务注册中心,服务注册与发现机制。
我们将从如下几个方面学习Eureka
- 构建服务注册中心
- 服务注册与服务发现
- Eureka的基础架构
- Eureka的服务治理机制
- Eureka的配置
环境
基于Spring Cloud Finchley.RELEASE 版本
Spring Boot 2.1.2.RELEASE
构建服务注册中心
- 创建一个基础的SpringBoot 项目,命名为eureka-server,引入必要的依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Finchley.RELEASE</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</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>
- 通过
@EnableEurekaServer
注解启动一个服务注册中心提供给其他应用进行对话
@EnableEurekaServer
@SpringBootApplication
public class EurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class, args);
}
}
- 默认情况下该注册中心也会将自己作为客户端来尝试注册它自己,所以我们需要禁用它的客户端注册行为,只需要在application.yml中增加如下配置:
server:
port: 1111
eureka:
instance:
hostname: localhost
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
spring:
application:
name: eurka-server
eureka.client.registerWithEureka: 由于该应用为注册中心,所以设置为false,代表不向注册中心注册自己
eureka.client.fetchRegistry :由于注册中心的职责就是维护服务实例,它并不需要去检索服务,所以也设置为false。
eureka.client.serviceUrl.defaultZone : 定义注册中心地址
5. 启动服务访问http://localhost:1111/ 得到结果如下:
注册服务提供者
- 新建一个普通的Spring Boot 项目,增加Spring Cloud Eureka模块的依赖。
。。。。。。。。。。。。。。。。。
版权原因,完整文章,请参考如下:Spring Cloud 学习笔记02----服务治理