概述
本文介绍如何搭建快速入门级SpringCloud Demo。SpringCloud按照项目部署可以分为以下几个部分,注册中心(服务目录服务)、配置中心(集中式配置管理中心)、服务端(服务提供者)、客户端(服务消费者)、服务网关。将逐一进行简单介绍。
PS:本文的Demo采用Finchley.SR2版本,其他版本可能略有差异。
注册中心
注册中心主要要功能就是服务注册与服务发现。每个应用启动时都会将自己的应用名称以及提供的接口注册到注册中心以提供给其他应用调用,同时订阅发现其他应用提供的服务用于自己消费。注册中心维护着所有的服务注册信息。
pom依赖包配置
<dependencies>
<!--服务中心-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<!--eureka 客户端-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<!--配置文件处理器-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
启动类
@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaApplication.class, args);
}
}
配置文件内容
server:
port: 8761
# spring
spring:
application:
name: fams-eureka
# 服务认证
security:
user:
name: demo
password: 123456
eureka:
instance:
prefer-ip-address: true
lease-renewal-interval-in-seconds: 300
lease-expiration-duration-in-seconds: 450
instanceId: ${spring.application.name}:${spring.cloud.client.ip-address}:${spring.application.instance_id:${server.port}}
server:
#关闭自我保护模式
enable-self-preservation: false
#设置清理无效节点的时间间隔,默认60000,即是60s
eviction-interval-timer-in-ms: 60000
renewal-percent-threshold: 0.9
client:
# 是否注册到eureka
register-with-eureka: false
# 是否从eureka获取注册信息
fetch-registry: false
service-url:
defaultZone: http://demo:123456@localhost:${server.port}/eureka
启动项目,访问页面,输入demo/123456,完成Eureka。