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

2026/08/15 spring AI学习总结

一. Tomcat线程如何配置

1. YAML 写法:

2. java代码实现

1.threads.max: 300— 最大工作线程数

Tomcat 用来实际处理请求的线程池上限。每个 HTTP 请求到达后,会被分配一个工作线程来执行你的 Controller 逻辑。

  • 默认值:200
  • 你设为 300,意味着最多同时处理 300 个请求
  • 当 300 个线程全忙时,新请求不会立即被处理,而是进入等待队列

2.threads.min-spare: 20— 最小空闲线程数

Tomcat 启动时预先创建的线程数量,也是线程池收缩时保留的最低线程数。

  • 默认值:10
  • 你设为 20,意味着即使没有请求,也会保持 20 个线程待命
  • 好处是突发流量来了不用临时创建线程,减少延迟

类比:饭店即使没客人,也至少留 20 个厨师值班。

3.max-connections: 8192— 最大连接数

Tomcat 在任意时刻能同时维持的 TCP 连接数上限(NIO 模式下)。

  • 默认值:8192
  • 注意:连接数 ≠ 并发处理数。一个连接建立了,但可能还没发请求,也可能在等线程处理
  • 当连接数达到 8192 时,新连接会被放入accept-count等待队列

类比:饭店里最多坐 8192 桌客人。

4.accept-count: 100— 等待队列长度

max-connections满了之后,操作系统层面还能排队等待的连接数。

  • 默认值:100
  • 当连接数 + 等待队列都满了(即 8192 + 100 + 1),新请求会被直接拒绝(连接超时或 Connection Refused)

类比:饭店坐满了,门口还有 100 个小板凳,再多人就只能走了。

5.connection-timeout: 20000— 连接超时时间

Tomcat 在接受一个 TCP 连接后,等待客户端发送 HTTP 请求行的最长时间(单位:毫秒)。

  • 默认值:20000ms(20 秒)
  • 如果客户端建立了连接但 20 秒内没发送任何数据,Tomcat 会主动断开这个连接
  • 主要用于防止慢速攻击(Slowloris 等)

二. WebFlux,Streaming,Sentinel使用

1. 常用的类总结

技术作用
RestTemplate同步 HTTP 调用
WebClientHTTP 客户端
WebFlux非阻塞/响应式编程
Mono0~1 个异步结果
Flux0~N 个异步结果
SSE服务端持续向客户端推送数据
Spring AI Streaming大模型 Token 流式返回

2. 使用WebFlux编程的好处

同步:

线程 ────────────────等待5秒────────────────>

异步:

线程 ──发请求──释放

处理其他请求

响应回来再继续

3. 使用Sentinel的好处

没有保护情况下拖垮服务:

大量请求

大量调用 DeepSeek

大量超时

大量线程/连接占用

你的 Spring Boot

也开始崩

有防护:

请求

Sentinel

判断是否超过阈值

允许 ─────→ DeepSeek

拒绝

Fallback

"AI服务暂时繁忙,请稍后再试"

4. 一张架构图看懂三者交互

第一版图:

用户


POST /ai/chat


Sentinel
┌──────┴──────┐
│ │
正常 限流/异常
│ │
▼ ▼
WebFlux Fallback
│ │
▼ ▼
Spring AI “AI服务繁忙”


DeepSeek

Streaming

┌──────┴──────┐
▼ ▼
token1 token2 ...
│ │
└──────┬──────┘

SSE/Flux


前端

第二版图:

http://www.jsqmd.com/news/1405378/

相关文章:

  • 2026年泵阀出口企业选小语种市场GEO服务商全攻略:避坑要点+靠谱服务商盘点 - 行业观察网
  • IRISMAN 完整使用指南:把 PS3 变成全能游戏中心的免费备份管理器
  • RAGFlow完整技术剖析:基于DeepDoc复杂文档解析,打造高质量检索增强生成应用24.3
  • 驱动装一次崩一次?Display Driver Uninstaller 一招完成显卡驱动彻底清理
  • 被看见的这一年:一个小班学生的自述 - 米諾
  • 2026年无锡高端健康管理公司怎么选?全周期服务、细胞存储与企业定制三大场景深度解析
  • 混合注意力与 M-RoPE:North-Micro-Vision-Instruct-8bit 处理超长上下文的秘密
  • 140 万条索引毫秒级出结果:FSearch 如何把 Linux 文件搜索变成一场“查表“
  • 2026年艾奇在线中高端AI官网建设标准合作全流程详解 全链路透明可控交付保障 - 产业观察报
  • 【博弈论和 SG 函数 | 那忘算 10】巴什博奕 尼姆博弈及其变种 威佐夫博弈(附例题)
  • 温州鹿城宅仕达漏水检测维修全城上门 2026 全网口碑优选:防水补漏公司 #温州 - 超人防水
  • 免配置远程串流完整指南:Moonlight Internet Hosting Tool 让新手5分钟打通跨网络游戏
  • 2026年服装外贸管理升级指南:甩掉零散软件表格 供应链效率翻3倍 - 大厂扫地工
  • 河南嵩山少林小龙文武学校 2026 招生咨询网站一【**入口】 - Luckyone王
  • 深入理解 Java 方法重载:原理、规则与最佳实践
  • 电脑没有多余显示器?ParsecVDD 帮你凭空“变“出几块屏幕
  • 10分钟给网页加上视频裁剪:这个React组件让我告别剪辑软件
  • 眉山房屋漏水维修实地体验记录 - 用户198513
  • 【给前端转全栈的java速通课】 1-2java的基本写法
  • Windows驱动清理怎么安全完成?Driver Store Explorer(RAPR)使用指南
  • react-avatar 源码解析:颜色算法如何让同名用户始终获得同一颜色
  • 深入理解 Java 构造方法:从入门到精通
  • 生产ERP系统好用的有哪些
  • 2026年新发布宁波大金超薄风管机厂家商铺批量配套,营商温度适宜-天威制冷 - 行业甄选汇
  • 2026商标注册公司官网AI化改造推荐盘点:靠谱服务商筛选攻略+避坑FAQ - 行业观察网
  • 从一枚贴错的标签说起:开源条码字体如何改变我的库存管理
  • LosslessCut 无损剪辑实战:10 分钟剪出第一支零损耗视频
  • Driver Store Explorer驱动管理终极指南:5个高频疑问带你安全释放C盘空间
  • 2026轻法老钱全屋家具大概多少钱?预算避坑攻略分析 - 米諾
  • 2026年8月丹东外墙漏水维修靠谱渠道盘点,高层高空渗水修缮避坑指南 - 聪居到家