spring cloud学习之eureka server服务注册与发现框架搭建

简介:

  Eureka属于spring-cloud-netflix包,除此之外其中还包括断路器(Hystrix)、智能路由(Zuul),客户端负载平衡(Ribbon)

  Eureka 是一种基于 REST(表现层状态转换) 的服务,实现中间层服务器的负载平衡和故障转移

一、引入pom依赖

        <!-- spring cloud Eureka Server 启动器 -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka-server</artifactId>
        </dependency>
		<dependency>
			<groupId>com.google.code.gson</groupId>
			<artifactId>gson</artifactId>
			<version>2.8.5</version>
		</dependency>

二、启动类添加@EnableEurekaServer注解

三、application.properties配置文件添加

#服务名
spring.application.name=eureka
server.port=8761
eureka.instance.hostname=localhost
#是否向服务注册中心注册自己,默认为true
eureka.client.register-with-eureka=false
#是否检索服务
eureka.client.fetch-registry=true
eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/
# 关闭自我保护:true为开启自我保护,false为关闭自我保护(一般关闭)
eureka.server.enableSelfPreservation=false
# 清理间隔(单位:毫秒,默认是60*1000),当服务心跳失效后多久,删除服务。
eureka.server.eviction.interval-timer-in-ms=60000

四、查看结果

 

说明:

1、注册与发现:Eureka Server提供服务注册服务,各个节点启动后,会到Eureka Server中进行注册。各服务的节点信息就可以在页面中看到。

2、心跳检测:Eureka Client会向Eureka Server发送心跳(默认周期30秒),如果Eureka Server在多个心跳周期内(默认90秒)没收到,就会把Eureka Client节点移除。(保护机制:如果心跳失败的比例在15分钟内统计低于85%,Eureka Server则任务是网络故障,会将这些实例保护起,让这些实例不会过期)

3、客户端缓存:即使Eureka Server都挂掉,客户端还可以利用缓存中的信息消费其他服务的api。

4、Eureka通过心跳检测、健康检查、客户端缓存等机制,保障系统的高可用性、灵活性和可伸缩性。

 

 

增强:

1、可以使用spring-boot-starter-security组件来为Eureka Server增加安全认证,配置如下:

# 使用http basic安全认证语法,在集群通信中增加认证信息。  http://用户名:密码@地址:端口/eureka/
eureka.client.serviceUrl.defaultZone=http://test:123456@eurekaserver2:8761/eureka/

# 开启基于http basic的安全认证
security.basic.enabled=true
# 设置安全认证用户名
security.user.name=test
# 设置安全认证密码
security.user.password=123456

2、建议优雅停服

引入pom

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-actuator</artifactId>
</dependency>

配置文件添加内容:

# 启用shutdown,优雅停服功能
endpoints.shutdown.enabled=true
# 禁用密码验证
endpoints.shutdown.sensitive=false

必须通过POST发起一个shutdown请求。请求路径为:http://ip:port/shutdown。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值