【spring cloud系列(三)】- eureka服务注册中心搭建
源码地址
工程说明
- 服务中心的作用:服务注册,服务发现
- 服务中心解决的问题:服务管理、服务的依赖关系
- 服务中心的角色
Eureka Server
- 通过
Register、Get、Renew
等接口提供服务的注册和发现。Application server(service provider)
- 服务提供方,把自身的服务实例注册到
Eureka Server
中Application client(Service Consumer)
- 服务消费方,通过
Eureka Server
,拉取服务列表至本地,再调用服务
工程搭建
1、添加pom依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
2、添加配置
- 本项目分了三环境,
dev
、prod
和test
,其中dev的配置为动态配置,可以根据启动参数,指定服务端口号PORT
、EUREKA_SERVER
、EUREKA_DOMAIN
。 - 其余两个配置(
prod
,test
)组成一个集群,方便单服务器快速启动 - 主配置文件
application.yml
里面指定了微服务名称和使用哪个配置文件,以下是各个配置文件的配置
application.yml
配置
spring:
application:
name: manage-center #eureka 服务
profiles:
active: dev # 读取哪个配置文件
application-dev.yml
配置
server:
port: ${PORT:50100} #服务端口
eureka:
client:
registerWithEureka: true #服务注册,是否将自己注册到Eureka服务中
fetchRegistry: true #服务发现,是否从Eureka中获取注册信息
serviceUrl: #Eureka客户端与Eureka服务端的交互地址,高可用状态配置对方的地址,单机状态配置自己(如果不配置则默认本机8761端口)
defaultZone: ${EUREKA_SERVER:http://localhost:50100}
server:
enable-self-preservation: false #是否开启自我保护模式
eviction-interval-timer-in-ms: 60000 #服务注册表清理间隔(单位毫秒,默认是60*1000)
instance:
hostname: ${EUREKA_DOMAIN:eureka}
application-prod.yml
配置
server:
port: 50101 #服务端口
eureka:
client:
registerWithEureka: true #服务注册,是否将自己注册到Eureka服务中
fetchRegistry: true #服务发现,是否从Eureka中获取注册信息
serviceUrl: #Eureka客户端与Eureka服务端的交互地址,高可用状态配置对方的地址,单机状态配置自己(如果不配置则默认本机8761端口)
defaultZone: http://localhost:50102/eureka
server:
enable-self-preservation: false #是否开启自我保护模式
eviction-interval-timer-in-ms: 60000 #服务注册表清理间隔(单位毫秒,默认是60*1000)
instance:
hostname: localhost
application-test.yml
配置
server:
port: 50102 #服务端口
eureka:
client:
registerWithEureka: true #服务注册,是否将自己注册到Eureka服务中
fetchRegistry: true #服务发现,是否从Eureka中获取注册信息
serviceUrl: #Eureka客户端与Eureka服务端的交互地址,高可用状态配置对方的地址,单机状态配置自己(如果不配置则默认本机8761端口)
defaultZone: http://localhost:50101/eureka
server:
enable-self-preservation: false #是否开启自我保护模式
eviction-interval-timer-in-ms: 60000 #服务注册表清理间隔(单位毫秒,默认是60*1000)
instance:
hostname: localhost
3、添加启动注解类
- 注解类:
@EnableEurekaServer
以下为启动类部分代码:
/**
- @author : xingsongtan@qq.com
- @date : 20:19 2019/7/24
*/
@SpringBootApplication
@EnableEurekaServer
public class EurekaApplication {
public static void main(String[] args) {
}SpringApplication.run(EurekaApplication.class, args);
}
还没有评论,来说两句吧...