使用spring cloud eureka构建高可用注册中心遇到的神坑,备忘
来源:互联网 发布:如何查手机mac地址 编辑:程序博客网 时间:2024/06/05 21:04
最近开始尝试spring cloud框架构建分布式服务,开启近年来十分火热的微服务之旅。
接触过分布式微服务技术概念的都应该知道,分布式服务构建应遵循的最著名的CAP理论,而对分布式架构起着关键核心作用的组件之一,莫过于服务注册与发现组件。
对比当前比较流行的一些分布式服务注册中心,只有eureka最贴近标准的分布式构架理论,提供了高可用保障和分区容错机制。因此在一段时间的理论基础准备后,着手构建基于spring cloud eureka的高可用注册中心。因为在本机单机环境中,注册中心由一个spring boot应用组成, 分成三个不同的profile,通过启动不同的profile来启动不同的注册中心实例,我的注册中心配置中,每个profile对应的主机都是localhost(未修改hosts映射 ),不同profile通过设置不同的端口来达到启动多个注册中心的目的。下面问题就来了:
启动结果 :
三台服务注册中心都可以正常启动,且在启动后的几分钟(大概2-3分钟)内,每一个注册中心上的服务实例(由其它注册中心作为客户端注册进来的)都正常。
不正常结果 :几分钟之后,各注册中心上注册的其他服务实例都会被莫名其妙的剔除,即使开启eureka的自我保护机制,依然不能阻止服务被剔除,在这个过程中并没有任务异常抛出,查看各注册中心控制台输出日志,发现服务实例续约心跳请求也正常,服务不应该被剔除。而且新注册的服务提供者实例也无法进行数据同步,所以找了很多资料,对照源码分析,发现服务注册,续约,失效剔除等功能貌似都没有问题,能做的配置尝试也基本都做了,依然解决不了问题。
正题: 直接上最终的解决结果: 修改注册中心配置,配置eureka.instance.preferIpAddress = true 。问题解决。。。
三个不同的profile上的eureka.instance.hostname 都设为localhost ,就会出现上述服务被剔除且无法同步,why ? 算不算eureka内部bug呢?
- 使用spring cloud eureka构建高可用注册中心遇到的神坑,备忘
- Spring Cloud---注册中心Eureka的高可用配置
- Spring Cloud (19) | Eureka Server 高可用服务注册中心
- 《spring cloud微服务实战》读书笔记——Spring Cloud Eureka(三)实现一个高可用的注册中心
- Spring Cloud 构建微服务-高可用注册中心
- spring-cloud中config配置中心使用(基于eureka的高可用)
- Spring Cloud(九)高可用的分布式配置中心 Spring Cloud Config 集成 Eureka 服务
- 使用Spring Cloud搭建高可用服务注册中心
- Spring Cloud 注册中心Eureka
- Spring-cloud注册中心 Eureka
- spring cloud 搭建高可用的注册中心
- spring cloud eureka高可用踩的坑
- Spring Cloud-Eureka注册发现高可用(学习实践)
- Spring Cloud构建微服务架构(六)高可用服务注册中心
- Spring Cloud构建微服务架构(六)高可用服务注册中心
- Spring Cloud构建微服务架构(六)高可用服务注册中心
- Spring Cloud构建微服务架构(六)高可用服务注册中心
- Spring Cloud构建微服务架构(六)高可用服务注册中心
- MySQL性能优化学习
- 使用Android Studio时你应该知道的一切配置
- Java反射机制
- Mondrian关闭缓存的办法(亲测可用)
- 2017第九届中国系统架构师大会10月在北京震撼来袭!
- 使用spring cloud eureka构建高可用注册中心遇到的神坑,备忘
- 项目管理-PMP-第1章 引论
- PAT:1002. 写出这个数 (20)
- 使用Spring-Data-Redis存储对象(redisTemplate)
- python codecs
- 基于分布式CPU计算的Deeplearning4j迁移学习应用实例
- Docker + Swarm + etcd 集群搭建
- 改进型分频器
- [无线安全]玩转无线电——不安全的蓝牙锁