Spring Cloud中Eureka开启密码认证----(springcloud配置系列一)
转载自 https://blog.csdn.net/u011499747/article/details/77410997
Eureka服务端配置
添加spring-boot-starter-security
更改POM文件:
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId></dependency>
设置用户名密码
更改application.properties:
security.user.password=dubby
security.user.name=dubby
重启,打开http://localhost:1111/,如果需要你输入密码,说明安全模块生效了,输入你设置的用户名和密码,可以进入就可以了。
Eureka客户端配置
更改application.properties:
eureka.client.serviceUrl.defaultZone=http://dubby:dubby@localhost:1111/eureka/
注意格式是
eureka.client.serviceUrl.defaultZone=http://${userName}:${password}@localhost:1111/eureka/
至此,Eureka的基本安全配置结束了。
==========================================================
一下部分转载自 https://segmentfault.com/a/1190000008378268#articleHeader5
eureka.client.registry-fetch-interval-seconds
表示eureka client间隔多久去拉取服务注册信息,默认为30秒,对于api-gateway,如果要迅速获取服务注册状态,可以缩小该值,比如5秒
eureka.instance.lease-expiration-duration-in-seconds
leaseExpirationDurationInSeconds,表示eureka server至上一次收到client的心跳之后,等待下一次心跳的超时时间,在这个时间内若没收到下一次心跳,则将移除该instance。
默认为90秒
如果该值太大,则很可能将流量转发过去的时候,该instance已经不存活了。
如果该值设置太小了,则instance则很可能因为临时的网络抖动而被摘除掉。
该值至少应该大于leaseRenewalIntervalInSeconds
eureka.instance.lease-renewal-interval-in-seconds
leaseRenewalIntervalInSeconds,表示eureka client发送心跳给server端的频率。如果在leaseExpirationDurationInSeconds后,server端没有收到client的心跳,则将摘除该instance。除此之外,如果该instance实现了HealthCheckCallback,并决定让自己unavailable的话,则该instance也不会接收到流量。
默认30秒
eureka.server.enable-self-preservation
是否开启自我保护模式,默认为true。
默认情况下,如果Eureka Server在一定时间内没有接收到某个微服务实例的心跳,Eureka Server将会注销该实例(默认90秒)。但是当网络分区故障发生时,微服务与Eureka Server之间无法正常通信,以上行为可能变得非常危险了——因为微服务本身其实是健康的,此时本不应该注销这个微服务。
Eureka通过“自我保护模式”来解决这个问题——当Eureka Server节点在短时间内丢失过多客户端时(可能发生了网络分区故障),那么这个节点就会进入自我保护模式。一旦进入该模式,Eureka Server就会保护服务注册表中的信息,不再删除服务注册表中的数据(也就是不会注销任何微服务)。当网络故障恢复后,该Eureka Server节点会自动退出自我保护模式。
综上,自我保护模式是一种应对网络异常的安全保护措施。它的架构哲学是宁可同时保留所有微服务(健康的微服务和不健康的微服务都会保留),也不盲目注销任何健康的微服务。使用自我保护模式,可以让Eureka集群更加的健壮、稳定。
eureka.server.eviction-interval-timer-in-ms
eureka server清理无效节点的时间间隔,默认60000毫秒,即60秒.
测试环境参考配置
eureka server
eureka:server:enable-self-preservation: false # 关闭自我保护模式(缺省为打开)eviction-interval-timer-in-ms: 5000 # 续期时间,即扫描失效服务的间隔时间(缺省为60*1000ms)
eureka client
eureka:instance:lease-renewal-interval-in-seconds: 5 # 心跳时间,即服务续约间隔时间(缺省为30s)lease-expiration-duration-in-seconds: 10 # 发呆时间,即服务续约到期时间(缺省为90s)client:healthcheck:enabled: true # 开启健康检查(依赖spring-boot-starter-actuator)
zuul
eureka:client:registry-fetch-interval-seconds: 5 # 默认为30秒
Spring Cloud中Eureka开启密码认证----(springcloud配置系列一)相关推荐
- Eureka开启密码认证
添加依赖包 <!--加入服务认证(密码),需要引入security--> <dependency><groupId>org.springframework.boot ...
- Spring Cloud 启动Eureka的Client(客户端)时,项目一启动就停止,控制台无任何报错信息
问题描述:再利用IDEA开发工具快速构建一个Spring Cloud中Eureka 客户端(client)后,项目一点击启动就停止,控制台无任何报错信息. 解决方法: 当出现这种情况的时候我们先在控制 ...
- 《SpringCloud超级入门》Eureka注册中心开启密码认证《十二》
Eureka 自带了一个 Web 的管理页面,方便我们查询注册到上面的实例信息,但是有一个问题:如果在实际使用中,注册中心地址有公网 IP 的话,必然能直接访问到,这样是不安全的.所以我们需要对 Eu ...
- Spring Cloud中,Eureka常见问题总结
Spring Cloud中,Eureka常见问题总结. 1 eureka.environment: 指定环境 参考文档: 1 eureka.datacenter: 指定数据中心 参考文档: 使用配置项 ...
- 【夯实Spring Cloud】Spring Cloud中的Eureka服务注册与发现详解
本文属于[夯实Spring Cloud]系列文章,该系列旨在用通俗易懂的语言,带大家了解和学习Spring Cloud技术,希望能给读者带来一些干货.系列目录如下: [夯实Spring Cloud]D ...
- Spring Cloud 中文文档
Spring Cloud 官方文档 Spring Cloud为开发人员提供了用于快速构建分布式系统中某些常见模式的工具(例如,配置管理,服务发现,断路器,智能路由,微代理,控制总线).分布式系统的协调 ...
- Spring Cloud Netflix Eureka 配置参数说明
为什么80%的码农都做不了架构师?>>> Eureka Client 配置项(eureka.client.*) org.springframework.cloud.netfli ...
- 【夯实Spring Cloud】Spring Cloud中使用Hystrix实现断路器原理详解(上)
本文属于[夯实Spring Cloud]系列文章,该系列旨在用通俗易懂的语言,带大家了解和学习Spring Cloud技术,希望能给读者带来一些干货.系列目录如下: [夯实Spring Cloud]D ...
- Spring Cloud OAuth2 JWT 微服务认证服务器得构建
文章目录 Spring Cloud OAuth2 JWT 微服务认证服务器得构建 前言 认证服务得搭建 `AuthorizationServer` `WebSecurityConfig` `Autho ...
最新文章
- 什么猫咪最受欢迎?Python爬取全网猫咪图片,哪一款是你最爱的
- 结构事物 java uml,UML考试试题及答案7讲解
- 收集的常用css页面及表单表格样式
- Codeforces1045I
- foursquare nyc数据集_炫酷的python地理数据可视化
- 个人博客网页设计_博客个人网页制作网页设计-1
- python学籍管理系统 flask_taskday05-Python之flask学习 web开发最基本的需要(特别详细且适用)...
- 【Kafka】消息超过最大值限制max.request.size
- 解密初、中、高级程序员的进化之路(前端)
- oracle的序列为什么会出错,Oracle系列:(24)序列
- 【HHHOJ】NOIP模拟赛 捌 解题报告
- 【数据蒋堂】第46期:大数据集群该不该透明化?
- Promise.then(a, b)与Promise.then(a).catch(b)问题详解
- zookeeper和PHP zookeeper和kafka 扩展安装
- 【TSP】基于matlab混合粒子群算法求解旅行商问题【含Matlab源码 397期】
- jmeter教程https://max.book118.com/html/2019/0108/6145005114002000.shtm
- IntelliJ IDEA下载 与 破解(Evaluate for free 灰色)
- keyshot怎么批量渲染_怎样用keyshot 5.0快速渲染出高质量图
- 麒麟820 soc鸿蒙系统,麒麟1020 SoC和麒麟820:华为下一代芯片?
- 深入理解原子操作-底层基础