惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Threat Research - Cisco Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
V
Vulnerabilities – Threatpost
GbyAI
GbyAI
P
Proofpoint News Feed
L
LINUX DO - 热门话题
P
Palo Alto Networks Blog
A
About on SuperTechFans
T
Tenable Blog
M
MIT News - Artificial intelligence
IT之家
IT之家
I
Intezer
D
DataBreaches.Net
爱范儿
爱范儿
T
Threatpost
C
CERT Recently Published Vulnerability Notes
云风的 BLOG
云风的 BLOG
博客园 - 三生石上(FineUI控件)
WordPress大学
WordPress大学
K
Kaspersky official blog
大猫的无限游戏
大猫的无限游戏
A
Arctic Wolf
Y
Y Combinator Blog
Cyberwarzone
Cyberwarzone
酷 壳 – CoolShell
酷 壳 – CoolShell
D
Darknet – Hacking Tools, Hacker News & Cyber Security
H
Help Net Security
Microsoft Security Blog
Microsoft Security Blog
Spread Privacy
Spread Privacy
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
AWS News Blog
AWS News Blog
博客园 - 聂微东
C
Check Point Blog
S
Securelist
有赞技术团队
有赞技术团队
雷峰网
雷峰网
aimingoo的专栏
aimingoo的专栏
Last Week in AI
Last Week in AI
Stack Overflow Blog
Stack Overflow Blog
MongoDB | Blog
MongoDB | Blog
D
Docker
G
GRAHAM CLULEY
T
The Exploit Database - CXSecurity.com
C
Cybersecurity and Infrastructure Security Agency CISA
T
Tailwind CSS Blog
L
Lohrmann on Cybersecurity
G
Google Developers Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
L
LangChain Blog

博客园 - silyvin

吞吐量、线程数、队列(好像没什么用) 去中心化的jwt(二)HS256、RS256、分级 什么叫无状态 直接进老年代的大对象指的是shallow还是retained 如何定义强一致和MVCC 三方支付为什么不用双向ssl,与U盾 事务消息与本地消息表的联系 再谈线程池或连接池容量怎么定 【删除】微信支付的收单机构 【删除】TLS前向保密 缓存一致性的根本原因 ssl pinning clienthello会不会拆粘包,为什么每次wireshark看到的都是正好的 转账tcc 安全采集jvm https代理服务器(八)安卓7 https代理服务器(七)假如被CA出卖 spi 微服务的同步异步 为什么tcp要用mss oauth为什么要传输secret https代理服务器(六)再次java动态签发【成功】 https代理服务器(五)换电脑 多线程插入也是随机io,那为啥不用uuid【yetdone】 http长连接维护 【yet】
微服务的同步异步(二)一个线程多个请求与一个连接多个请求(http2),客户端的多路复用
silyvin · 2026-06-10 · via 博客园 - silyvin

1

一个线程多个请求

http1.1+epoll

2

一个连接多个请求(http2)

HTTP/2 的多路复用(multiplexing)解决的是「单 TCP 连接上多个请求/响应交错传输」

http2是应用层协议,可以跑阻塞IO,也可以多路复用

HTTP/2 在一个连接上做到了并发(多个流交错传输,宏观同时)

HTTP/2 在同一个 TCP 连接上,通过二进制分帧和流 ID,实现了逻辑上的多路并发。数据在线上还是串行发送的,但接收方可以根据帧头里的流 ID,把数据重新组装成多个独立、并行的请求/响应**。像传输层的TCP,缓存、顺序、重组-》业务消费

效果:客户端可以在同一个连接上同时发送流1(第1个请求)、流3(第2个请求)、流5(第3个请求)…… 服务端也可以同时返回流1的响应、流3的响应、流5的响应,互不阻塞。

HTTP/1.1 为什么做不到这种并发?

因为它的模型是请求-响应串行:发出请求1后,必须收到完整的响应1,才能发请求2。无法在中间穿插请求2的数据。

3

image

image

4 grpc写入内核缓冲时,会不会拆包乱序----连接channel.write有队列?

假如写入阻塞时,操作系统唤醒会不会乱序

比如A写3个字节满了阻塞,B直接阻塞;tcp滑动窗口移动,操作系统唤醒谁?是公平锁吗

5

异步客户端本身不会阻塞任何线程(它的 IO 线程是非阻塞的)。你的业务线程是否阻塞,完全取决于你是否主动调用阻塞方法(如 Future.get()、CountDownLatch.await() 等)去等待结果。真正用好异步,就要学会“回调接力”,让业务线程也像 IO 线程一样,永不等待。