Spring WebFlux启动源码分析 Java 编程技术

Spring WebFlux启动源码分析

根据之前的文章 《Spring Boot启动源码分析》可知,当执行 AbstractApplicationContext -> onRefresh() 方法时,如果引入了 webflux 相关依赖,会创建 WebServer。 /** ReactiveWebServerApplicationContext **/ private void createWebServer() { ...
阅读全文
Java高性能网络编程--Reactor模型 Java 编程技术

Java高性能网络编程--Reactor模型

Reactor模型是基于事件驱动的模型,是高性能网络编程中非常重要概念,常用于解决多核服务器下的如何处理海量I/O问题。Java中大名鼎鼎的Netty网络编程框架的线程模型正是基于Reactor模型。 本文主要基于Doug Lea的文章 Scalable IO in Java 来介绍下Reactor模型。 本文所有内容均基于前人资料总结而成,如有侵权必删。 传统网络编程 初学...
阅读全文
Netty编程实战之:Netty基础入门 Java 编程技术

Netty编程实战之:Netty基础入门

前面两节我们介绍了学习Netty的准备知识,分别是: Netty编程实战之:掌控NIO Netty编程实战之:Reactor反应器模式 如果大家没有看过这两节的话, 推荐先去看看, 因为这两节是基础知识 Netty入门小案例 Netty 的介绍,优点,特性等已经在第一节中介绍过,这里不再重复,接下来我们先给大家看一个 Netty 的小例子,...
阅读全文
飞哥讲代码9:提升性能,线程数合适就行 Java 编程技术

飞哥讲代码9:提升性能,线程数合适就行

案例 两周前,参与某一老产品的性能优化有如下收获: 同事说,我配置了 1000个线程 ,但是总消耗时间还是需要 10分钟 左右,似乎没有真正的并发。 经过分析代码,狂改一通代码,结果是:只配置了 32个线程 ,总消耗时间下降至 44秒 。 这个产品已有一定的年头,采用Java开发,但Maven配置的编译source/target还是 1.6(直接把配...
阅读全文
高德云图异步反应式技术架构探索和实践 Java 编程技术

高德云图异步反应式技术架构探索和实践

背景 高德云图是高德地理信息基础能力的出口,对外提供包含搜索和导航等服务接口数量超 700 个,接入应用达 40 万以上,日均处理请求量超百亿,日均 QPS 峰值过百万。高德云图服务端包含开放平台、苹果地图和多类行业解决方案,服务客户包括个人与企业开发者、企业专有用户,以及手淘、天猫、支付宝、飞猪、Lazada 等阿里经济体团队。 传统服务端架构一般采用同步阻塞模型,这符合常人思维模式,但...
阅读全文
【WEB系列】WebClient之超时设置 Spring

【WEB系列】WebClient之超时设置

为所有的第三方接口调用设置超时时间是一个比较推荐的做法,避免自己的任务被所依赖的服务给拖死;在WebClient发起的异步网络请求调用中,应该如何设置超时时间呢? I. 项目环境 本项目借助 SpringBoot 2.2.1.RELEASE + maven 3.5.3 + IDEA 进行开发 1. 依赖 使用WebClient,最主要的引入依赖如下(省略掉了SpringBo...
阅读全文
详解SpringCloudGateway内存泄漏问题 Java 编程技术

详解SpringCloudGateway内存泄漏问题

SpringCloudGateway内存泄漏问题 项目完善差不多,在进入压力测试阶段期间,发现了gateway有内存泄漏问题,问题发现的起因是,当时启动一台gateway,一台对应的下游应用服务,在压力测试期间,发现特别不稳定,并发量时高时低,而且会有施压机卡住的现象,然后找到容器对应的宿主机,并使用container stats命令观察内存,经过观察发现,压力测试时内存会暴涨,并由于超过...
阅读全文
快速构建拨测系统 Java 编程技术

快速构建拨测系统

背景 当前项目需要一个拨测系统来检测服务是否正常运行,拨测系统需要满足以下需求: 支持对接口请求结果做判断。 支持对接口的耗时做判断。 支持重试:可能在某一瞬间网络出现了延迟,导致接口请求失败,所以需要重试,连续重试N次失败才算异常。 失败告警,可配置不同的告警接收人。 通用、可配置:支持各种场景的接口协议。 图表展示(可选)。 方案 ...
阅读全文
Loading...