一切福田,不離方寸,從心而覓,感無不通。

虚拟线程在Spring Boot中的正确使用方式

虚拟线程在Spring Boot中的正确使用方式:

启用方式:配置 spring.threads.virtual.enabled=true
Web请求:自动使用虚拟线程处理(无需额外配置)
异步方法:通过 @Async 自动使用虚拟线程
定时任务:需要配置 SchedulingConfigurer
手动创建:使用 Executors.newVirtualThreadPerTaskExecutor()
注意事项:避免CPU密集型任务,谨慎使用ThreadLocal

龙生   11 Sep 2026
View Details

彻底搞懂响应式编程

我们知道,系统面对大流量、高并发的访问请求时,就可能会出现一系列性能问题,导致服务丧失了即时的响应性。如何时刻确保系统具有应对请求压力的能力,是架构设计的核心问题之一。

经典的服务隔离、限流、降级以及熔断等机制能够在一定程度上确保系统的响应性。但这些机制更多的是从系统架构和应用部署的角度出发解决问题,而不是编程技术本身。今天我们要介绍的是构建系统响应性的一种崭新的解决方案,这就是响应式编程(Reactive Programming)。

我们知道,传统的编程模型采用的是同步阻塞式(Blocking)的请求响应过程,这是现有各种经典解决方案所不得不面对的一种限制。 而响应式编程打破了这种限制,采用了异步非阻塞式(Non-Blocking)的编程模型,从而提高服务的响应能力。

龙生   11 Sep 2026
View Details

为什么Spring要“抛弃”Feign?

适用场景
继续用Feign的场景
1. 已有的老项目,Feign接口超过20个 迁移成本太高,不值得为了“追新”去重构。

2. 深度依赖Spring Cloud微服务生态 服务发现、负载均衡、熔断降级全部用Spring Cloud那一套,Feign的集成度更高。

3. 团队对Feign非常熟悉 没有学习成本,出了问题知道怎么排查。

4. 不需要响应式编程 业务场景简单,不需要WebFlux,Feign完全够用。

转向@HttpExchange的场景
1. 新项目从零开始 没有历史包袱,直接用Spring官方原生方案。

2. 需要使用响应式编程 WebFlux + @HttpExchange是绝配。

3. 追求性能和资源效率 高并发场景下,@HttpExchange的吞吐量和内存占用都优于Feign。

4. 不想引入Spring Cloud 项目不需要完整的微服务功能,只想用声明式HTTP客户端。

5. 追求技术栈“干净” 希望依赖最小化,不想引入第三方组件。

龙生   11 Sep 2026
View Details