Eureka Server 配置
Eureka Server 配置
一、初级配置(傻瓜式,单节点)
1、新建一个 Spring Boot 项目
2、在 pom.xml 文件中添加
3、在 application.java 中开启注解如下:
4、在 application.yml 中添加如下配置
- register-with-eureka 表示是否将自己注册到 Eureka Server 中
- fetch-registry 表示是否从 Eureka Server 中获取注册信息
- service-url Eureka Server 地址,以 Map 的形式存放
5、启动 application
二、 Eureka Server 集群
构建三个节点的 Eureka Server 集群以及添加用户认证
1、在 C:\Windows\System32\drivers\etc
下的 host 文件中添加如下几项:
2、添加 Spring Boot Security
3、复制三份 application.yml 文件,重命名为 application-node-a.yml、application-node-b.yml、application-node-c.yml,分别配置如下
application-node-a.yml
application-node-b.yml
application-node-c.yml
需要注意以下几点,不然会出现 Unavailable replicas
- 需配置 hostname
- eureka.instance.prefer-ip-address 需 = false
- register-with-eureka 需 = true
- 集群中的 spring.application.name 最好相同
- 认证配置是在 defaultZone: user:password@hostname:port/eureka/ 这里体现
4、配置三个Spring Boot 启动项,Active profiles 文件中分别填写 node-a、node-b、node-c。
5、分别启动这三个应用,构建一个集群,访问 http://eureka-node-a:8761、http://eureka-node-b:8762、http://eureka-node-c:8763。
三、微服务的自我保护模式
进入自我保护模式最直观的表现是首页输出的警告。
默认情况下,如果 Eureka Server 在一定时间内没有收到某个微服务实例的心跳,Eureka Server 将会注销该实例(默认90秒),但是当网络分区故障发生时,微服务无法与 Eureka Server 进行通信,这时候 Eureka Server 如果删除该微服务就变得很危险了。
Eureka 通过“自我保护”来解决这个问题——当 Eureka Server 节点在短时间内丢失过多客户端时,那么这个节点就会进入自我保护模式。一旦进入该模式,Eureka Server 就会保护服务注册表中的信息,不再删除服务注册表中的数据。当网络故障恢复后,该 Eureka Server 节点会自动退出保护模式。
在 Spring Cloud 中,可以使用 eureka.server.enable-self-preservation = false 禁用自我保护模式。
__EOF__

本文链接:https://www.cnblogs.com/zolmk/p/14074014.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义