长连接和短连接区别详解(4大核心区别)

长连接和短连接区别详解(4大核心区别)

长连接、和短连接的区别是大厂经常考察的核心点,下面我重点详解4大长连接和短连接的区别@mikechen

并发性能的区别

长连接

长连接, 建立连接后,即使没有数据传输,也会一直保持连接状态,直到主动断开或因网络故障断开。

长连接和短连接区别详解(4大核心区别)

长连接,在高并发场景下能够较好地复用资源,减少连接的创建和关闭过程,提高了整体的并发处理能力。

短连接

短连接, 每次通信前都建立新的连接,通信结束后立即断开连接。

短连接,在高并发情况下,需要频繁地进行连接的建立、和拆除,这会增加系统负担,处理能力较弱。

 

资源占用的区别

长连接

由于连接保持打开,客户端和服务器需要维护连接状态,这样会占用一定的资源。

长连接和短连接区别详解(4大核心区别)

比如:内存、文件句柄……..等,但避免了频繁建立、和销毁连接…的消耗。

短连接

每次请求,都需要建立新的连接,且在响应后立即关闭,这会导致频繁的连接创建和断开。

短链接,会消耗更多的系统资源,尤其是在高并发的情况下。

 

数据效率的区别

长连接

长连接,对于频繁的通信,建立连接的开销可以分摊到多次通信中,提高了数据传输效率。

短连接

短连接,每次通信都需要重新建立连接。

长连接和短连接区别详解(4大核心区别)

对于频繁的通信,建立连接的开销较大,降低了数据传输效率。

 

适用场景的区别

长连接

长连接,适用于频繁交互的数据传输场景,比如:

长连接和短连接区别详解(4大核心区别)

实时通讯(如WebSocket、即时消息)、在线游戏( 玩家、与服务器需要保持实时通信)…等等。

以及,数据流、视频流…等需要长时间稳定连接的应用。

短连接

短连接,适用于偶尔请求、和响应的场景。

比如:HTTP请求(浏览器访问静态网页)、数据库连接(每次查询数据库时建立连接,查询完成后断开连接)…等场景。

陈睿mikechen

10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注作者「mikechen」公众号,获取更多技术干货!

后台回复架构,即可获取《阿里架构师进阶专题全部合集》,后台回复面试即可获取《史上最全阿里Java面试题总结

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧