当前位置: 首页 > article >正文

Nginx\Tomcat\Jetty\Netty

Nginx高性能 HTTP 服务器 / 代理大门接收请求、转发、负载均衡、静态资源、高并发纯异步非阻塞 多进程1 个 master 多个 worker一个线程能扛几万并发整体能抗~10WQps只负责接收请求 → 转发 → 返回结果TomcatJava Web 容器运行 Spring Boot、Java Web、Servlet、接口服务。支持 BIO / NIO / APR默认 NIO异步非阻塞专门执行Servlet / Spring MVC业务逻辑既要处理网络又要跑业务代码扛几百几千并发受业务影响和jetty都是一个请求绑定一个工作线程servlet threadJetty轻量级 Java Web 容器微服务、嵌入式、云原生、小内存环境架构比 Tomcat 简单默认 NIO 异步非阻塞嵌入式友好Spring Boot 默认可切换Netty网络通信编程框架自己写网关、MQ、游戏服务器、RPC、自定义协议基于 Java NIO 封装的高性能网络框架主从 Reactor 多线程模型只处理网络连接、读写、编解码不提供 Web 容器功能不能直接跑 Spring MVCRPC 框架Dubbo、gRPC 都用 NettyTomcat NIO 和 Jetty NIO 底层模型完全相同Selector 轮询IO 多路复用Accept 线程 → 接收连接Worker 线程组 → 处理读写请求进入线程池 → 分配一个 servlet 线程业务执行完毕 → 归还线程重点只要是运行 Spring MVC同步 Servlet不管 Tomcat 还是 Jetty都会一个请求占一个线程所以线程模型一样 → 最大并发由线程池大小决定 → 性能接近内存占用Jetty 完胜Jetty 内核极小Jar 只有几百 KB启动内存Jetty 2040MTomcat 启动80150MNetty Spring WebFlux 五大黄金应用场景高并发网关 / API 网关最适合场景 接入层、网关、路由、鉴权、限流、日志、请求转发 每秒几千几万 QPS 大部分时间在等待下游服务响应IO 密集型长连接、高在线量服务IM、推送、聊天室场景WebSocket 长连接在线人数 1 万、10 万、100 万消息推送、实时通知、IM 即时通讯为什么适合Tomcat 一个连接占一个线程1 万连接 1 万线程直接炸Netty 只需 4~8 个线程就能扛 10 万 长连接WebFlux 完美支持 WebSocket 响应式模型IO 密集型微服务大量调用第三方 / DB/HTTP场景服务内部大量远程调用调用第三方接口HTTP、Dubbo、gRPC频繁读写数据库、Redis、MQCPU 空闲线程全在等待为什么适合Spring MVC同步一个请求占一个线程等待时线程闲置WebFlux等待时线程立刻去处理别的请求同样机器配置并发能力提升 310 倍4.高并发、低延迟的核心接口场景秒杀、商品列表、订单查询、用户中心要求低延迟、高并发流量波动大平时低峰值高为什么适合Netty 性能极高异步非阻塞无线程阻塞浪费抗尖峰能力极强5. 流式数据、实时数据处理场景服务端推送SSE日志流、数据流分批返回大量数据WebFlux 天然支持 Flux 流式返回Netty 采用三层架构主 ReactorBoss 线程只负责接收客户端连接从 ReactorWorker 线程只负责读写数据、编解码业务线程池只负责执行业务逻辑Spring MVC tomcat NIO 网络层用NIO 多路复用非阻塞、高效接收连接业务层Worker / Tomcat 线程池处理 Spring MVC 业务同步、阻塞、一个请求一个线程Netty WebFlux 网络层异步非阻塞Netty 业务层异步非阻塞响应式编程 真正的全链路异步非阻塞响应式编程基于数据流 通知回调Reactive Streams 规范响应式流是一套为JVM/JavaScript 平台设计的异步流处理标准核心解决非阻塞 背压Backpressure问题是 Spring WebFlux、Project Reactor、RxJava 等框架的底层基石。数据流Mono / FluxMono0 或 1 个数据单个结果Flux0 ~ N 个数据列表 / 流异步回调订阅才执行链式操作流水线MonoUser userMono reactiveUserDao.getUserById(1L);WebFlux调用 → 注册回调 → 线程离开 → 结果回来再通知1. 响应式 Repository数据库异步非阻塞不能用 JDBC / MyBatis阻塞必须用R2DBC / ReactiveMongo等异步驱动响应式 HTTP 调用WebClient不能用 RestTemplate阻塞必须用WebClient异步非阻塞

相关文章:

Nginx\Tomcat\Jetty\Netty

Nginx:高性能 HTTP 服务器 / 代理大门,接收请求、转发、负载均衡、静态资源、高并发纯异步非阻塞 多进程1 个 master 多个 worker一个线程能扛几万并发,整体能抗~10WQps只负责:接收请求 → 转发 → 返回结果Tomcat:J…...

YOLOv12跨平台开发指南:Python、C++、Rust多语言实现终极教程

YOLOv12跨平台开发指南:Python、C、Rust多语言实现终极教程 【免费下载链接】yolov12 [NeurIPS 2025] YOLOv12: Attention-Centric Real-Time Object Detectors 项目地址: https://gitcode.com/gh_mirrors/yo/yolov12 YOLOv12作为NeurIPS 2025最新发布的注意…...

彻底移除Windows Defender:释放30%系统性能的终极指南

彻底移除Windows Defender:释放30%系统性能的终极指南 【免费下载链接】windows-defender-remover A tool which is uses to remove Windows Defender in Windows 8.x, Windows 10 (every version) and Windows 11. 项目地址: https://gitcode.com/gh_mirrors/wi/…...

开源番茄小说下载工具:让数字阅读摆脱平台依赖的完整方案

开源番茄小说下载工具:让数字阅读摆脱平台依赖的完整方案 【免费下载链接】fanqienovel-downloader 下载番茄小说 项目地址: https://gitcode.com/gh_mirrors/fa/fanqienovel-downloader 当你在通勤途中想继续阅读昨晚未看完的小说,却发现网络信号…...

一文了解大模型:Token、上下文、计费与选型

一、前言想象你走进一家餐厅,菜单上写着"按食材重量计费"。你点了一碗面,但结账时发现:面条、汤底、葱花全都算重量,而且不同食材单价不同。大模型的 Token 计费,本质上就是这么回事。大模型(Lar…...

AndroidX Media3与ExoPlayer集成实战:从零构建视频播放器

1. 为什么选择AndroidX Media3和ExoPlayer 如果你正在开发一个Android视频播放应用,可能会纠结该用系统自带的MediaPlayer还是第三方方案。我做过十几个视频类项目,实测下来ExoPlayer绝对是首选。这个谷歌开源的播放器不仅性能强悍,还支持DAS…...

专业B站视频下载解决方案:实现4K高清与大会员内容本地化存储

专业B站视频下载解决方案:实现4K高清与大会员内容本地化存储 【免费下载链接】bilibili-downloader B站视频下载,支持下载大会员清晰度4K,持续更新中 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader Bilibili-dow…...

保姆级教程:用PyTorch复现DALL·E核心组件之dVAE(含Gumbel-Softmax实现)

从零构建DALLE的视觉词库:PyTorch实现dVAE与Gumbel-Softmax实战 当我们需要将高分辨率图像压缩为紧凑的离散表示时,离散变分自动编码器(dVAE)提供了一种优雅的解决方案。本文将深入探讨如何用PyTorch实现DALLE中的dVAE组件&#x…...

告别复杂对抗训练:用Python+PyTorch实现傅里叶域自适应(FDA),5分钟搞定语义分割的域迁移

5行代码实现傅里叶域自适应:用PythonPyTorch零成本完成语义分割域迁移 当你在GTA5游戏画面训练的模型遇到真实街景时,准确率突然暴跌30%——这是计算机视觉工程师最熟悉的噩梦。传统域自适应方法往往需要复杂的对抗训练和精细调参,而2020年CV…...

TensorFlow 2.x与Keras完美融合:构建深度学习模型的终极教程

TensorFlow 2.x与Keras完美融合:构建深度学习模型的终极教程 【免费下载链接】TensorFlow Project containig related material for my TensorFlow articles 项目地址: https://gitcode.com/gh_mirrors/ten/TensorFlow 想要快速掌握TensorFlow 2.x与Keras的完…...

ROFL播放器:5分钟解决英雄联盟回放播放难题的终极指南

ROFL播放器:5分钟解决英雄联盟回放播放难题的终极指南 【免费下载链接】ROFL-Player (No longer supported) One stop shop utility for viewing League of Legends replays! 项目地址: https://gitcode.com/gh_mirrors/ro/ROFL-Player 还在为英雄联盟回放文…...

【Tessent Shell实战指南】【Ch4】层次化设计中的DFT架构规划与实现策略

1. 层次化DFT设计基础与挑战 第一次接触大型SoC层次化设计时,我被复杂的时钟域和物理分区搞得晕头转向。直到在Tessent Shell中实践了完整的hierarchical DFT流程,才发现这套方法论的精妙之处。层次化DFT就像搭积木,需要先规划整体结构&…...

智能运维避坑指南:高压断路器机器学习诊断中的5大常见数据陷阱

智能运维避坑指南:高压断路器机器学习诊断中的5大常见数据陷阱 在电力系统智能运维的浪潮中,高压断路器作为电网的"安全卫士",其故障诊断的准确性与及时性直接关系到整个电网的稳定运行。随着机器学习技术在工业领域的深入应用&…...

LangGraph从入门到精通(二)——构建你的第一个有状态智能体

1. 环境准备与基础概念回顾 在开始构建有状态智能体之前,我们需要先确保开发环境就绪。我推荐使用Python 3.10版本,这个版本在稳定性和新特性支持上达到了很好的平衡。安装LangGraph非常简单,只需要一条命令: pip install langgra…...

PyDPF-Core新手避坑指南:解决grpc._channel._InactiveRpcError的3种实战方法

PyDPF-Core实战:彻底解决grpc._channel._InactiveRpcError的深度指南 当你第一次在PyDPF-Core中看到grpc._channel._InactiveRpcError这个错误时,可能会感到困惑——明明代码看起来没问题,为什么连接会失败?这个问题困扰过不少刚接…...

从.for到.f90:手把手教你搭建Windows/Linux下的Fortran开发环境(VS+Intel Fortran / gfortran)

从.for到.f90:手把手教你搭建Windows/Linux下的Fortran开发环境 Fortran这门诞生于1954年的编程语言,至今仍在科学计算领域占据重要地位。如果你是一名物理、气象、工程或计算化学领域的研究者,很可能需要处理由Fortran编写的经典数值计算代码…...

GoJieba自定义词典使用指南:3步添加专业领域词汇的终极方法

GoJieba自定义词典使用指南:3步添加专业领域词汇的终极方法 【免费下载链接】gojieba "结巴"中文分词的Golang版本 项目地址: https://gitcode.com/gh_mirrors/go/gojieba GoJieba是"结巴"中文分词的Golang版本,作为一款高效…...

C++ ostringstream实战指南:从基础到高级应用

1. 认识C中的ostringstream 第一次接触ostringstream时,我正面临一个棘手的问题:需要将各种数据类型混合输出到一个日志文件中。当时尝试了各种字符串拼接方法,不是性能低下就是代码难以维护。直到发现了ostringstream这个神器,才…...

ping命令原理及用法

理解 ping 的原理和使用方法,是排查网络故障的基础。下面从原理、命令用法、各种场景下的操作,以及为什么需要 ping 这几个方面来详细解释。一、 ping 的核心原理:借“回声”探测路径ping 命令利用的是一种叫做 ICMP (Internet Control Messa…...

终极热键侦探指南:3分钟找出Windows快捷键冲突元凶 [特殊字符]️♂️

终极热键侦探指南:3分钟找出Windows快捷键冲突元凶 🕵️♂️ 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detect…...

JavaScript WeakSet的has()方法:一个被低估的‘对象侦探’,5分钟搞懂它的正确用法和常见误区

JavaScript WeakSet的has()方法:一个被低估的‘对象侦探’,5分钟搞懂它的正确用法和常见误区 想象一下,你有一个只认人脸不认名字的侦探朋友。无论你如何描述一个人的特征,他只会摇头说:"除非让我亲眼看到这个人&…...

5步打造个性化Windows任务栏:TranslucentTB美化全攻略

5步打造个性化Windows任务栏:TranslucentTB美化全攻略 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB Windows任务栏作为桌面…...

2026届最火的AI写作助手解析与推荐

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 有效地削弱文本所表现出的机器生成特征,是降低AIGC率的核心要点所在。其一&…...

Equalizer APO实战指南:专业级Windows音频均衡器配置与优化

Equalizer APO实战指南:专业级Windows音频均衡器配置与优化 【免费下载链接】equalizerapo Equalizer APO mirror 项目地址: https://gitcode.com/gh_mirrors/eq/equalizerapo Equalizer APO是一款功能强大的开源Windows音频处理对象(APO&#xf…...

宝塔UA爬虫黑名单

宝塔UA爬虫黑名单宝塔waf防火墙 导入即可Go-http-client Python Java Python-urllib Alexa Toolbar hubspot my-tiny-bot eiki MegaIndex.ru ImagesiftBot DuckDuckGo-Favicons-Bot InfoTigerBot JikeSpider Ezooms serpstatbot BLEXBot Html5plus heritrix DigExt YYSpider li…...

Air8101 多媒体WiFi模组(高清显示+视频采集)

一、模组概述 Air8101是一款集成 2.4G WiFi6 BLE 5.4 的高性能 WiFi SoC,最大支持 200W 像素的静态图像拍照,支持 1多路摄像头接入、H.264 视频编码与推流能力,最高支持1280*720P分辨率LCD显示,外设接口丰富,搭配 Lua…...

IPXWrapper:让经典游戏在Windows 11重获联机能力的技术解析

IPXWrapper:让经典游戏在Windows 11重获联机能力的技术解析 【免费下载链接】ipxwrapper 项目地址: https://gitcode.com/gh_mirrors/ip/ipxwrapper 在现代Windows 11系统中,许多经典游戏因缺乏IPX协议支持而无法实现局域网联机,IPXW…...

告别ST-Link!用CH347+OpenOCD给STM32烧录程序,保姆级配置教程(含常见报错解决)

低成本玩转STM32:用CH347OpenOCD实现高效烧录的完整指南 在嵌入式开发领域,ST-Link调试器一直是STM32系列芯片的标准搭档,但其价格往往让个人开发者、学生群体望而却步。有没有一种既经济实惠又功能完备的替代方案?CH347这款多功…...

黑丝空姐-造相Z-Turbo极限测试:挑战复杂网络环境下的模型服务稳定性

黑丝空姐-造相Z-Turbo极限测试:挑战复杂网络环境下的模型服务稳定性 最近在折腾一个很有意思的项目,需要频繁调用一个部署在星图GPU平台上的AI图像生成服务,也就是大家可能听说过的“黑丝空姐-造相Z-Turbo”。这个模型生成特定风格人像的效果…...

别再手动建模了!用C++和GMSH自动导入STEP文件,5步生成六面体网格(附完整代码)

基于GMSH的CAD/CAE自动化工作流:从STEP文件到六面体网格的工程实践 在工业设计和仿真分析领域,CAD模型到有限元网格的转换一直是制约效率的关键环节。传统的手动建模方式不仅耗时费力,更难以适应参数化设计和批量处理的需求。本文将展示如何利…...