【探索java之路】简单聊聊网络通讯核心协议

发布时间:2026/7/26 6:28:32

【探索java之路】简单聊聊网络通讯核心协议 【探索Java之路】简单聊聊网络通讯核心协议在Java后端开发中几乎所有涉及“网络”的功能RPC、HTTP接口、消息队列、缓存、分布式协调、微服务调用、WebSocket、文件上传下载等最终都会落到下面这几层协议上。我们用最简洁的方式从上到下把最核心的几层协议过一遍2025-2026年视角层级OSI模型近似协议家族典型代表协议Java中最常见的场景传输层用什么是否面向连接是否可靠头部开销典型端口应用层HTTP/HTTPSHTTP/1.1、HTTP/2、HTTP/3REST API、Spring Boot Web、浏览器前后端交互TCP是是中大80/443应用层WebSocketRFC 6455 子协议实时聊天、推送、在线协作、股票行情TCP是是小中任意应用层gRPCHTTP/2 Protobuf高性能内部服务调用、微服务间通信TCP是是很小任意应用层DubboDubbo协议 / TripleHTTP/2传统Dubbo RPC、部分云原生场景TCP是是小任意应用层MQTTMQTT 3.1.1 / 5.0IoT、设备上报、弱网环境推送TCP / WebSocket是可配置极小1883/8883应用层Redis协议RESPRESP2 / RESP3Redis客户端通信TCP是是小6379应用层Kafka协议Kafka Wire Protocol生产者/消费者与Broker通信TCP是是中9092传输层TCP—几乎所有需要可靠传输的场景—是是中—传输层UDP—DNS、QUIC底层、部分游戏、音视频、实时监控—否否很小—传输层新兴QUIC基于UDPHTTP/3、部分自定义协议低延迟网页、移动端API、游戏、视频会议UDP是是小中443常见网络层IPIPv4 / IPv6所有网络通信的基础—否否小—最常出现在Java面试/日常开发中的几条协议对比一句话总结协议一句话本质Java主流框架/库2025-2026主流使用场景排名延迟敏感度吞吐量潜力移动端友好度HTTP/1.1最熟悉的文本协议请求-响应模式Spring MVC / WebFlux★★★★★中中中HTTP/2二进制、多路复用、头部压缩Spring Boot 2.0、Netty★★★★☆中低高高HTTP/3QUIC HTTP语义连接迁移、0-RTT少数前沿项目、Cloudflare、部分CDN★★☆☆☆低很高很高WebSocket全双工、持久连接、轻量帧Spring WebSocket / Netty★★★★☆低中高高gRPC高性能RPCProtobuf HTTP/2grpc-java、Spring Boot gRPC starter★★★★☆很低很高中高TCP长连接最原始可靠流式传输Netty、Mina、自定义协议★★★☆☆低高中MQTT极轻量级发布订阅适合弱网Eclipse Paho、EMQ X Java Client★★★☆☆IoT中中很高QUICUDP上做可靠传输 加密 多路复用quiche-java、cloudflare quicly绑定★★☆☆☆快速增长中极低极高极高快速记忆口诀面试/架构图时常用要可靠 顺序→ TCPHTTP/1、HTTP/2、WebSocket、gRPC、Dubbo、Redis、Kafka……要极低延迟 移动弱网友好→ QUICHTTP/3或自定义UDP协议要极致轻量 海量长连接→ MQTTIoT、IM信令要最高性能内部调用→ gRPCProtobuf HTTP/2或自定义二进制协议Netty还在用明文HTTP/1.1→ 基本是历史包袱或对调试友好2025-2026年最值得关注的趋势Java视角HTTP/3 QUIC正在快速渗透尤其移动端、边缘计算、游戏、视频gRPC仍然是内部高性能通信首选但gRPC over HTTP/3Triple QUIC已经在部分公司落地WebTransport基于QUIC的双向流正在成为WebSocket的潜在继任者二进制协议Protobuf、FlatBuffers、Avro比JSON越来越普遍Netty 仍然是Java生态里自定义协议、代理、网关、高性能网络IO的绝对王者一句话总结“Java程序员写业务代码时主要跟HTTP打交道写中间件/网关/实时系统时主要跟TCP/WebSocket/gRPC打交道想极致性能或移动端体验时开始关注QUIC/HTTP/3。”你目前更关心哪一块HTTP/2 vs HTTP/3 到底差在哪gRPC 在Spring Boot项目里怎么优雅集成Netty 写自定义TCP协议入门WebSocket 断线重连 心跳最佳实践MQTT 在Java里怎么用得舒服告诉我你的方向我可以继续往下展开

相关新闻