logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

spring webflux链路跟踪【traceId日志自动打印】

摘要 本文探讨了Spring WebFlux中链路跟踪的优化方案。相比传统Servlet模式下使用ThreadLocal的简单实现,WebFlux由于线程切换导致MDC跟踪失效。新版Reactor 3.5.3引入的Hooks.enableAutomaticContextPropagation()特性,结合context-propagation库,实现了Context与ThreadLocal的自动双

#spring
Spring WebFlux(Reactor3) block()/blockFirst()/blockLast()使用陷阱

从传统阻塞模型刚过度到Spring WebFlux非阻塞模型编程会有诸多不适应的地方。比如调用一个方法都是返回Mono或者Flux,然后需要不停的map,flatMap去处理返回的结果。在Spring MVC中可以很方便快捷处理的场景,在Spring WebFlux可能会麻烦一点。这个时候我们可能会用Reactor的boock()方法来处理了。然后我们就会得到如下的错误了:error:java.l

#java#spring
老旧Spring Cloud 2.0.0.RELEASE使用最新版本Nacos 2.2.3

本文主要将使用旧版本Spring Cloud 2.0.5.RELEASE整合新版本Nacos2.2.3遇到的问题进行了记录。过程中共遇到两个问题,一个是Nacos2.1.X引入了鉴权导致的,另外一个是Spring Cloud Alibaba代码兼容问题。

文章图片
#spring cloud#spring#后端
Spring WebFlux (Reactor3)上下文Context处理

在Spring MVC中我们可以使用ThreadLocal保存一些信息,作为请求的上下文。一些公用的变量就不用写在方法中,可以通过上下文来获取(比如:用户的登录信息)。在《重构》中马丁福勒也推荐能通过其他方式获取到的变量,不要使用方法参数传递进来。但是在Spring WebFlux中会存在多次线程切换,所以ThreadLocal就不能在Spring WebFlux中使用了,除非,手动的做Threa

#java
Spring WebFlux(Reactor3) block()/blockFirst()/blockLast()使用陷阱

从传统阻塞模型刚过度到Spring WebFlux非阻塞模型编程会有诸多不适应的地方。比如调用一个方法都是返回Mono或者Flux,然后需要不停的map,flatMap去处理返回的结果。在Spring MVC中可以很方便快捷处理的场景,在Spring WebFlux可能会麻烦一点。这个时候我们可能会用Reactor的boock()方法来处理了。然后我们就会得到如下的错误了:error:java.l

#java#spring
JDK16你必须了解的新特性

Pattern Matching for instanceof instanceof的模式匹配instanceof的模式匹配从JDK14进入孵化,到JDK16正式转正。Recordsrecords从JDK14引入预览版到JDK16转正。Elastic Metaspace弹性的元空间,可以帮助 HotSpot 虚拟机,将元空间中未使用的 class 元数据内存更及时地返回给操作系统,以减少元空间的内

文章图片
#java
响应式微服务Spring Cloud与Spring WebFlux(二)之 链路跟踪

上篇文章我们讲到了Reactive Feign,它在响应式微服务中替换了阻塞模型的Open Feign。今天我们要讨论的是响应式的链路跟踪。在微服务架构中,原来的单体被划分为多个细小的模块部署,一个请求可能需要横跨多个小的服务才能完成它所要实现的功能。在传统阻塞模型中有很多优秀的框架可以供我们解决这个问题,比如Zipkin,SkyWalking等等。那在Spring Webflux中他们表现如何呢

#java#分布式#spring
响应式微服务Spring Cloud与Spring WebFlux(一)之 Reactive Feign

先介绍open feign官网对于响应式的介绍,它引用了Playpika的github项目。接着就介绍一下这个公司,他是做什么的,背书什么的。然后介绍这个项目的现状,对于cloud2为什么使用它,还有它的一些配置。在加一些测试的代码。...

#java#spring
响应式微服务Spring Cloud与Spring WebFlux(一)之 Reactive Feign

先介绍open feign官网对于响应式的介绍,它引用了Playpika的github项目。接着就介绍一下这个公司,他是做什么的,背书什么的。然后介绍这个项目的现状,对于cloud2为什么使用它,还有它的一些配置。在加一些测试的代码。...

#java#spring
到底了