摘要: #spring boot源码解析 总览 曹工说Spring Boot源码(29)-- Spring 解决循环依赖为什么使用三级缓存,而不是二级缓存 曹工说Spring Boot源码(28)-- Spring的component-scan机制,让你自己来进行简单实现,怎么办 曹工说Spring Boo 阅读全文
posted @ 2020-05-21 22:59 三国梦回 阅读(6977) 评论(0) 推荐(8) 编辑
摘要: 一、前言 前一阵子比较好奇,想看到底层(虚拟机、汇编)怎么实现的java 并发那块。 volatile是在汇编里加了lock前缀,因为volatile可以通过查看JIT编译器的汇编代码来看。 但是原子类,本来在jvm中就是汇编实现的,反而没法看。如果能实际跟踪一下断点,应该也算实际验证了。 这边基本 阅读全文
posted @ 2019-06-04 10:52 三国梦回 阅读(2543) 评论(9) 推荐(4) 编辑
摘要: 背景 大家工作时,少不了ssh登录各个服务器,我这边手里也有很多服务器,有一些登录很快就进去了,有些要卡半天才能进去。之前以为是公司网络问题,每次也就忍了,这次突然不想忍了,决定定位一下。 我这边的服务器是10.80.121.46。因为这个问题是可复现的,算是个好问题,于是在本地开了wireshar 阅读全文
posted @ 2024-04-03 17:17 三国梦回 阅读(3384) 评论(11) 推荐(35) 编辑
摘要: 背景 最近在项目上遇到个问题。项目就是普通的spring cloud,spring cloud在spring boot的基础上多了一些东西,比如支持bootstrap上下文(通过bootstrap.yml/properties配置)。另外呢,我们这边要求上线的时候,要把配置文件里的敏感配置如密码,进 阅读全文
posted @ 2024-02-04 19:06 三国梦回 阅读(192) 评论(2) 推荐(0) 编辑
摘要: 背景 来了个需求,需要从某个线上es库查询一些数据出来并进行大屏展示。问需求方有没有开发环境的es库,答:没有,说要不直连他们的线上库。 后面想想也行吧,业务方都这么说了,结果开网络的流程被打回了,理由是网络隔离。 于是,只能采用从线上es库导出文件,然后在开发环境原样搭建这么一个es库并导入的办法 阅读全文
posted @ 2024-01-28 13:15 三国梦回 阅读(273) 评论(2) 推荐(1) 编辑
摘要: 背景 在feign中,一般是通过eureka、nacos等获取服务实例,但有时候调用一些服务时,人家给的是ip或域名,我们这时候还能用Feign这一套吗? 可以的。 有两种方式,一种是直接指定url: 这种是服务端自己会保证高可用、负载均衡那些。 但也可能对方给了多个url(一般不会这样,但是在ap 阅读全文
posted @ 2024-01-21 16:39 三国梦回 阅读(131) 评论(0) 推荐(1) 编辑
摘要: 背景 我们上一篇介绍了feign调用的整体流程,在@FeignClient没有写死url的情况下,就会生成一个支持客户端负载均衡的LoadBalancerClient。这个LoadBalancerClient可以根据服务名,去获取服务对应的实例列表,然后再用一些客户端负载均衡算法,从这堆实例列表中选 阅读全文
posted @ 2024-01-20 18:44 三国梦回 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 背景 经过前面几篇的理解,我们大致梳理清楚了FeignClient的创建、Feign调用的大体流程,本篇会深入Feign调用中涉及的另一个重要组件:loadbalancer,了解loadbalancer在feign调用中的职责,再追溯其是如何创建的。 在讲之前,我先提个重点,本文章的前期是引用了na 阅读全文
posted @ 2024-01-14 15:11 三国梦回 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 背景 前面几篇分析了Feign的初始化过程,历经艰难,可算是把@FeignClient注解的接口对应的代理对象给创建出来了。今天看下在实际Feign调用过程中的一些源码细节。 我们这里Feign接口如下: @FeignClient(value = "echo-service-provider") / 阅读全文
posted @ 2024-01-11 21:45 三国梦回 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 背景 前面两篇讲了下,在一个典型的引入了feign、loadbalancer、nacos等相关依赖的环境中,会有哪些bean需要创建。 其中第一篇讲了非自动配置的bean,第二篇是自动配置的bean。第一篇中提到,@FeignClient这个注解,就会创建一个beanDefinition,类型为Fe 阅读全文
posted @ 2024-01-07 16:55 三国梦回 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 背景 上一篇介绍了Feign源码初始化的一部分,内容主要是,@EnableFeignClients、@FeignClient这些注解,都支持设置一些自定义的配置类: A custom @Configuration for all feign clients. Can contain override 阅读全文
posted @ 2023-12-23 22:56 三国梦回 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 前言 打算系统分析下Feign的代码,上一篇讲了下Feign的历史,本篇的话,先讲下Feign相关的beanDefinition,beanDefinition就是bean的设计图,bean都是按照beanDefinition来制造的。 Feign相关的bean不少,有一些是因为我们的Feign相关注 阅读全文
posted @ 2023-12-16 21:23 三国梦回 阅读(353) 评论(1) 推荐(4) 编辑