Spring Cloud 服务注册发现eureka
hashcon
做自媒体技术分享很久了,大家的抬爱与支持让我很开心很感激,但是个人本来做这些也并不是为了收益,只是为了个人学习与传播知识帮助更多的人,所以我将全网所有账号全部收益,持续捐给各种公益项目,也算不辜负大家的抬爱,也是回报祖国对我的一番培养。
曾任职于顺丰,华为,网易等公司,从Java小白,成长为资深开发与项目组首席架构师。喜欢源码与开源,曾贡献 MyCat1.6 核心源码,贡献过druid,Spring Cloud,dubbox,Apache RocketMQ,Apache Bookeeper 等多开源项目。
展开
-
spring eureka 服务实例实现快速下线快速感知快速刷新配置解析
背景默认的Spring Eureka服务器,服务提供者和服务调用者配置不够灵敏,总是服务提供者在停掉很久之后,服务调用者很长时间并没有感知到变化。或者是服务已经注册上去了,但是服务调用方很长时间还是调用不到,发现不了这个服务。源码解读通过对Spring Eureka源码的研究,发现如下机制(默认配置下): 描述如下:EurekaServer默认有两个缓存,一个是ReadWriteMap,另一个是原创 2017-11-17 14:32:31 · 82975 阅读 · 20 评论 -
Spring Cloud Eureka 全解 (8) - 安全配置
本文基于SpringCloud-Dalston.SR5一般的,Eureka在内网服务,我们不会对于外网暴露Eureka端口,所以一般Eureka不做任何验证。假设我们想进一步增强Eureka的安全性,可以结合spring security来简单配置一些安全设置首先在Spring Cloud Eureka Server所在的项目中添加对于spring security的依赖:<...原创 2018-03-26 18:14:21 · 12535 阅读 · 0 评论 -
Spring Cloud Eureka 全解 (7) - 生产配置最佳实践
本文基于SpringCloud-Dalston.SR5可以实现比较快的服务上下线:EurekaServer配置:#eureka server刷新readCacheMap的时间,注意,client读取的是readCacheMap,这个时间决定了多久会把readWriteCacheMap的缓存更新到readCacheMap上#默认30seureka.server.respons原创 2018-01-24 17:47:46 · 63020 阅读 · 9 评论 -
Spring Cloud Eureka 全解 (6) - 一些热门QA
本文基于SpringCloud-Dalston.SR5Eureka服务实例启动时,是否会立刻向EurekaServer注册?是的,立刻会。EurekaClient在每次实例状态发生改变时,有一个Listener:statusChangeListener = new ApplicationInfoManager.StatusChangeListener() { @Ov原创 2018-01-24 17:44:02 · 16053 阅读 · 2 评论 -
Spring Cloud Eureka 全解 (5) - 自我保护机制
本文基于SpringCloud-Dalston.SR5自我保护机制 关闭自我保护机制(默认是打开的):eureka.server.enable-self-preservation=false自我保护机制:默认情况下,如果Eureka Server在一定时间内没有接收到某个微服务实例的心跳,Eureka Server将会注销该实例(默认90秒)。但是当网络分区故障发生时,微服务原创 2018-01-24 17:07:36 · 62453 阅读 · 6 评论 -
Spring Cloud Eureka 全解 (4) - 核心流程-服务与实例列表获取详解
本文基于SpringCloud-Dalston.SR5关于服务与实例列表获取EurekaClient端我们从Ribbon说起:EurekaClient也存在缓存,应用服务实例列表信息在每个EurekaClient服务消费端都有缓存。一般的,Ribbon的LoadBalancer会读取这个缓存,来知道当前有哪些实例可以调用,从而进行负载均衡。这个loadbalancer同样也有缓原创 2018-01-24 16:29:58 · 34343 阅读 · 0 评论 -
Spring Cloud Eureka 全解 (3) - 核心流程-服务注册与取消详解
本文基于SpringCloud-Dalston.SR5关于服务注册 开启/关闭服务注册配置:eureka.client.register-with-eureka = true (默认)什么时候注册?应用第一次启动时,初始化EurekaClient时,应用状态改变:从STARTING变为UP会触发这个Listener,调用instanceInfoReplicator....原创 2017-11-29 18:54:34 · 30288 阅读 · 3 评论 -
Spring Cloud Eureka 全解 (2) - 整体流程篇
本文基于SpringCloud-Dalston.SR5之前我们看过这个整体流程图: 接下来我们来仔细分析下这个流程,先不涉及源代码,只说流程服务提供者EurekaClient -> EurekaServer每个服务会生成自己的InstanceInfo: 除了这些,还有两个比较重要的配置 服务过期时间配置:eureka.instance.lease-expirat原创 2017-11-28 19:09:08 · 38084 阅读 · 0 评论 -
Spring Cloud Eureka 全解 (1) - 总览篇
本文基于SpringCloud-Dalston.SR5Eureka作为服务注册中心对整个微服务架构起着最核心的整合作用,因此对Eureka还是有很大的必要进行深入研究。Eureka 1.x版本是纯基于servlet的应用。为了与spring cloud结合使用,除了本身eureka代码,还有个粘合模块spring-cloud-netflix-eureka-server。在我们启动Eurek原创 2017-11-15 19:39:39 · 44342 阅读 · 0 评论 -
Spring cloud实现FeignClient指定Zone调用
本文基于Spring Cloud Fincheley SR3背景介绍目前项目多个区域多个集群,这些集群共用同一个Eureka集群。通过设置eureka.instance.metadata-map.zone设置不同实例所属的zone,zone之间不互相调用,只有zone内部调用(其实这里用zone做了集群隔离,实际上集群肯定是跨可用区的,这里的eureka中的zone在我们项目里面并不是可用...原创 2019-06-13 15:52:05 · 19005 阅读 · 8 评论