Spring Cloud Gateway 不小心换了个 Web 容器就不能用了,我 TM 人傻了

2022-03-12
阅读 9 分钟
1.3k
个人创作公约:本人声明创作的所有文章皆为自己原创,如果有参考任何文章的地方,会标注出来,如果有疏漏,欢迎大家批判。如果大家发现网上有抄袭本文章的,欢迎举报,并且积极向这个 github 仓库 提交 issue,谢谢支持~本文是我 TM 人傻了的第多少期我忘了,每一期总结一个坑以及对于坑的一些发散性想法,往期精彩回顾...

启用 Spring-Cloud-OpenFeign 配置可刷新,项目无法启动,我 TM 人傻了(下)

2021-10-02
阅读 8 分钟
1.2k
本篇文章涉及底层设计以及原理,以及问题定位,比较深入,篇幅较长,所以拆分成上下两篇:上:问题简单描述以及 Spring Cloud RefreshScope 的原理下:当前 spring-cloud-openfeign + spring-cloud-sleuth 带来的 bug 以及如何修复Spring Cloud 中的配置动态刷新其实在测试的程序中,我们已经实现了一个简单的 Bean 刷新...
封面图

SpringCloud升级之路2020.0.x版-15.UnderTow 订制

2021-08-19
阅读 10 分钟
1.2k
本系列代码地址:[链接]我们使用 Spring Boot 的 SPI 机制对 Undertow 进行订制,主要有如下两个方面:需要在 accesslog 中打开响应时间统计。期望通过 JFR 监控每个 Http 请求,同时占用空间不能太大。接下来我们依次实现这两个需求:首先,我们的框架作为基础组件,应该按照基础组件的标准来开发,使用 这个系列之前介...
封面图

SpringCloud升级之路2020.0.x版-12.UnderTow 简介与内部原理

2021-08-16
阅读 4 分钟
1.7k
在我们的项目中,我们没有采用默认的 Tomcat 容器,而是使用了 UnderTow 作为我们的容器。其实性能上的差异并没有那么明显,但是使用 UnderTow 我们可以利用直接内存作为网络传输的 buffer,减少业务的 GC,优化业务的表现。其实 Tomcat 也有使用直接内存作为网络传输的 buffer 的配置,即 Connector 使用 NIO 或者 NIO2...
封面图

SpringCloud升级之路2020.0.x版-11.Log4j2 监控相关

2021-08-15
阅读 9 分钟
956
Log4j2 异步日志核心通过 RingBuffer 实现,如果某一时刻产生大量日志并且写的速度不及时导致 RingBuffer 满了,业务代码中调用日志记录的地方就会阻塞。所以我们需要对 RingBuffer 进行监控。Log4j2 对于每一个 AsyncLogger 配置,都会创建一个独立的 RingBuffer,例如下面的 Log4j2 配置:
封面图

SpringCloud升级之路2020.0.x版-8.理解 NamedContextFactory

2021-08-10
阅读 11 分钟
1.2k
本系列为之前系列的整理重启版,随着项目的发展以及项目中的使用,之前系列里面很多东西发生了变化,并且还有一些东西之前系列并没有提到,所以重启这个系列重新整理下,欢迎各位留言交流,谢谢!~
封面图

SpringCloud升级之路2020.0.x版-7.从Bean到SpringCloud

2021-08-09
阅读 4 分钟
819
本系列为之前系列的整理重启版,随着项目的发展以及项目中的使用,之前系列里面很多东西发生了变化,并且还有一些东西之前系列并没有提到,所以重启这个系列重新整理下,欢迎各位留言交流,谢谢!~

SpringCloud升级之路2020.0.x版-6.微服务特性相关的依赖说明

2021-08-08
阅读 5 分钟
924
本系列代码地址:[链接]spring-cloud-common 不再是一个纯依赖的项目,这个模块包括:spring-framework-common 的依赖同步与异步微服务公共的依赖同步与异步微服务公共的框架代码改造,这个我们后面分析框架以及我们设计的修改的时候,会详细分析,这里先跳过同步与异步微服务公共的依赖包括:代码请参考:[链接]1.启用 ...

SpringCloud升级之路2020.0.x版-5.所有项目的parent与spring-framework-common说明

2021-08-05
阅读 7 分钟
1.2k
本系列代码地址:[链接]源代码文件:[链接]1. 使用 log4j2 异步日志所需要的依赖:需要排除默认的日志实现 logback,增加 log4j2 的依赖,并且添加 log4j2 异步日志需要的 disruptor 依赖。 {代码...} 2. javax.xml 的相关依赖。我们的项目使用 JDK 11。JDK 9 之后的模块化特性导致 javax.xml 不自动加载,所以需要如下...
封面图

SpringCloud升级之路2020.0.x版-3.Eureka Server 与 API 网关要考虑的问题

2021-08-03
阅读 2 分钟
1.2k
本系列为之前系列的整理重启版,随着项目的发展以及项目中的使用,之前系列里面很多东西发生了变化,并且还有一些东西之前系列并没有提到,所以重启这个系列重新整理下,欢迎各位留言交流,谢谢!~
封面图

SpringCloud升级之路2020.0.x版-2.微服务框架需要考虑的问题

2021-08-02
阅读 4 分钟
777
本系列为之前系列的整理重启版,随着项目的发展以及项目中的使用,之前系列里面很多东西发生了变化,并且还有一些东西之前系列并没有提到,所以重启这个系列重新整理下,欢迎各位留言交流,谢谢!~
封面图

Spring Cloud 升级之路 - 2020.0.x - 6. 使用 Spring Cloud LoadBalancer-1

2021-05-28
阅读 10 分钟
3.8k
Spring Cloud LoadBalancer是一个客户端负载均衡器,类似于Ribbon,但是由于Ribbon已经进入维护模式,并且Ribbon 2并不与Ribbon 1相互兼容,所以Spring Cloud全家桶在Spring Cloud Commons项目中,添加了Spring cloud Loadbalancer作为新的负载均衡器,并且做了向前兼容,就算你的项目中继续用 Spring Cloud Netflix 套...

Spring Cloud 升级之路 - 2020.0.x - 3. Undertow 的 accesslog 配置

2021-04-08
阅读 8 分钟
2.3k
上一节我们讲述了如何使用 Undertow 作为我们的 Web 服务容器,本小节我们来分析使用 Undertow 的另一个问题,也就是如何配置 accesslog,以及 accesslog 的各种占位符。