长连接与短连接,长轮询与短轮询

简介: 长连接,短连接


长连接与短连接:

短连接:一次请求,一次响应结束。TCP通道断开。下次请求从新建立TCP通道连接。即三次握手。

长连接:一次请求,一次响应。TCP通道不断开。但也不是永久连接。一般情况下,客户端请求的时候会设置一个超时时间,当服务端侦测到再没有客户端的请求发生,超过了一定时间,服务器就会断开这个连接。

区别:短连接会及时释放TCP连接通道;

  长连接不会释放,超过设定的时间后释放。



在工作中,有很多对接第三方API的需求,那么这时候我们应该采用长连接还是短连接呢?假如第三方公司对接的商家有500家,每个商家微服务为100个,那么极限请求量为5万个;如果是5000个商家,每个商户峰值请求量为1000,那么极限请求量就是500万个,如果采用长连接的话,这么多连接不释放,服务端的压力可想而知,更不用说对接的商户更多呢?所有,第三方公司,包括微信、支付宝等的接口API大都是短连接形式的。

那如果第三方对接的商家是固定的,比如就是 100家,那么就可以采用长连接,因为长连接比短连接节省服务器资源。

总之,只要QPS低(没有超过服务端的承载能力),频繁访问,那么采用长连接;偶尔访问采用短连接;如果QPS高,客户端相对固定,采用长连接;客户端不固定,采用短连接。


在微服务的注册与管理中,采用的就是 长连接,长轮询机制。


长轮询、短轮询是针对服务端给客户端响应的时间而言的。快就是短轮询,慢就是长轮询。一般情况下,一个客户端请求,服务端响应我们当然希望越快越好;但是对于注册中心这样的场景,慢一点更好。


尺有所长,寸有所短。各有其用!!!




参考:https://blog.csdn.net/weixin_41755556/article/details/120343961

相关文章
|
1月前
|
移动开发 前端开发 HTML5
SharedWorker 优化前端轮询请求
【10月更文挑战第6天】
22 1
|
3月前
|
网络协议 数据库连接 数据库
长连接与短连接的区别以及使用场景
这篇文章讨论了长连接与短连接的区别、各自的优缺点以及使用场景,指出短连接适用于浏览器访问服务器等场景,而长连接适用于操作频繁且连接数不多的情况,如数据库连接,选择长连接或短连接应根据实际需求和网络环境来决定。
长连接与短连接的区别以及使用场景
|
3月前
|
网络协议 Java
JAVA实现心跳检测【长连接】
这篇文章介绍了Java中实现心跳检测机制的方法,包括心跳机制的简介、实现方式、客户端和服务端的代码实现,以及具体的测试结果。文中详细阐述了如何通过自定义心跳包和超时检测来维持长连接,并提供了完整的客户端和服务端示例代码。
JAVA实现心跳检测【长连接】
|
3月前
|
UED
短轮询与长轮询的区别
【8月更文挑战第24天】
132 0
|
4月前
|
前端开发
前端轮询问题之在使用setInterval进行轮询时重复发送请求如何解决
前端轮询问题之在使用setInterval进行轮询时重复发送请求如何解决
138 0
|
6月前
|
网络协议
四次挥手?为什么不是三次?服务端可以做那些优化来减少四次挥手时间?
四次挥手?为什么不是三次?服务端可以做那些优化来减少四次挥手时间?
|
tengine 网络协议 Linux
关于长连接服务器和客户端之间要加入心跳的一些讨论
关于长连接服务器和客户端之间要加入心跳的一些讨论
|
网络协议
选择长连接 or 短连接,大量 Timewait 的产生时如何处理?
网络通讯中,常见的两个连接类型分别是长连接和短连接。长连接指在一定时间内保持连接不断开,而短连接则指每次连接只进行一次通信,通信结束后即时断开连接。在实际应用中,不同类型的连接有着不同的应用场景和优缺点,而且在网络通讯中可能会遇到大量 Timewait 的产生,这就需要针对不同情况选择不同的处理方案。
102 1
|
监控 前端开发 网络协议
HTTP - 长连接 & 短连接 & 长轮询 & 短轮询 & 心跳机制
HTTP - 长连接 & 短连接 & 长轮询 & 短轮询 & 心跳机制
1958 0
HTTP - 长连接 & 短连接 & 长轮询 & 短轮询 & 心跳机制
|
网络协议 Unix Windows
确认应答机制与超时重发机制【TCP原理(笔记一)】
确认应答机制与超时重发机制【TCP原理(笔记一)】
420 0