06 2021 档案
摘要:前言 eureka客户端和服务端的通信前面九篇文章都已经将源码分析完毕,这篇文章我们将重点放在eureka server集群内的多个节点间是如何通信的。 正文 eureka server集群采用peer to peer的通信方式,简称p2p。即没有主副节点,所有节点地位平等。这就意味着所有节点要将自
阅读全文
摘要:正文 自我保护机制 是指,eureka sever如果在1min内,发现超过15%的大量服务实例下线了,会认为是自身出了问题,比如断网,导致服务实例client无法向自己发送心跳,这时不会将这些服务实例剔除。 自我保护机制的入口: com.netflix.eureka.registry.PeerAw
阅读全文
摘要:前言 eureka源码系列已经过去了大半,这篇文章我们来看 ”服务下线“ 。 正文 服务下线 是指:服务实例主动下线,由服务实例所在的eureka client主动发起,并且通知server进行注册表下线的功能。 client下线 client调用链路: com.netflix.discovery.
阅读全文
摘要:正文 服务剔除是指:服务端会定时对实例进行检查检查,如果有没有发送心跳续约的实例,则将这个实例从注册表中剔除。 所以这个功能是在服务端实现的,调用链路: com.netflix.eureka.EurekaBootStrap contextInitialized com.netflix.eureka.
阅读全文
摘要:前言 正文 client发送续约心跳 client在构造方法中启动定时调度任务的方法中,启动了定时向server发送心跳的任务: client调用链路: DiscoveryClient DiscoveryClient DiscoveryClient heartbeatExecutor Discove
阅读全文
摘要:client抓取全量注册表 入口 客户端会在创建DiscoveryClient实例的时候,也就是DiscoveryClient的构造函数中,根据配置判断是否需要抓取注册表,默认是需要抓取。如果需要的话,第一次抓取采用全量抓取的方式,所谓全量抓取就是请求server的全量抓取接口,然后缓存在本地。调用
阅读全文
摘要:前言 本文讲解 “服务注册” 这个功能模块,这个模块涉及到client主动请求server进行 服务注册 ,和server端对client端的请求进行处理。 client向server请求注册服务 client端服务注册的代码入口很难找,方法调用链路如下: DiscoveryClient Disco
阅读全文
摘要:前言 本文讲解eureka server的启动源码。 Server启动 "《Eureka源码系列 —— 2.源码启动入口》" 文章中我们提到过 实现了 接口,web容器启动的时候,会调用 方法,将实现类的逻辑拉起来,这个方法就是eureka server的启动入口,该方法如下图: 分为三步: 1.
阅读全文
摘要:前言 本文介绍如何搭建eureka源码的debug环境,网上有一些博客抄来抄去,抄错了都不知道。 eureka server启动 eureka server模块下有一个测试类: 。这个类里面是对eureka server的REST接口的集成测试包,里面肯定包含启动eureka server的代码,我
阅读全文
摘要:前言 这个系列开始研究spring cloud netflix微服务框架的各个组件源码,首先是注册中心eureka。 本文先介绍eureka项目的基本结构,系列文章基于eureka版本 1.7.2。 没有特殊说明,本篇中所有client都指eureka client,server指eureka se
阅读全文
摘要:title: linux设置环境变量 date: 2020 12 24 15:17:34 tags: [linux] categories: linux abbrlink: linux profile 我今日就要带佢走,我睇下边个够胆拦我。 ——伍六七 《刺客伍六七》 本文介绍Linux/Unix操
阅读全文
摘要:前言 如果看过我前几篇介绍 Springboot 是如何启动的文章,那内嵌的 tomcat 是如何启动的这个问题其实很好回答,这里我总结了一张时序图,感觉一图胜千言,分享给大家
阅读全文
摘要:前言 前面两篇文章我们已经研究过SpringBootApplication类的构造方法和 run 方法,这篇文章会研究 注解。 正文 注解基本在每一个 springboot 项目中都会看到,通常标注在启动类上。直接看源码: 发现这是一个复合或者说组合注解,有三个子注解构成: SpringBootCo
阅读全文
摘要:前言 本系列开始研究 SpringBoot 的源码,之前看过的源码都忘了,还是记录博客的方式能帮助自己更深入的思考和总结。 先研究 SpringBoot 的启动流程,这个部分预计总共会有三篇,分别研究: SpringApplication的构造函数 SpringApplication 实例的 run
阅读全文
摘要:前言 SpringBoot 除了提供自身的功能外,还为我们提供了众多开箱即用的 ,比如常用的像 、`spring boot starter logging`等。我们只要在 pom 文件中引入这些组件的依赖,springboot就会帮我们加载这些组件的 bean 到 IOC 容器中,并且允许我们对组件
阅读全文
摘要:前言 最近又在研究 SpringBoot 源码(研究好几次了,研究完有些用不上就忘了😅),在 SpringBoot 执行 main 方法启动过程中,会根据 classpath 下的类信息推断当前环境信息。这里 classpath 究竟是指哪呢,搜了中文语境下的技术文章,竟然没有找到想要的回答,可能
阅读全文
摘要:前言 整理一些经典书籍,包括但不仅限于技术类,持续更新中📚... 资源都是能找到的最好的版本,省的大家去找啦,加油各位ヾ(◍°∇°◍)ノ゙。 另外电子书仅供参考,以纸质书为准。写书传播知识不易,希望大家多多支持纸质书。 链接失效或者损害到您的利益,请通过konglinghan@klhans.com
阅读全文

浙公网安备 33010602011771号