服务器推送的四种方式,作为架构师的你全了解吗?

服务器
不管是腾讯还是京东,都是结合自身的业务特点,综合分析了几种方式的优缺点选择了合适自己的方式。所以作为一名架构师,不仅要从微观技术考虑还要有宏观的架构思考。

常用的服务器推送方式,大致分为四种。

1.短轮询:在客户端,定时的去请求服务器中,然后刷新信息到客户端页面。一般互联网业界的标准是5秒。

2.长轮询:客户端向服务器发送Ajax请求,服务器接到请求后hold住连接,直到有新消息才返回响应信息并关闭连接,客户端处理完响应信息后再向服务器发送新的请求。

原理是servlet的异步请求长连接。也就是说,异步请求中在原始的请求返回的时候并没有关闭连接,关闭的只是处理请求的那个线程(一般是回收的线程池里了),只有在异步请求全部处理完之后才会关闭连接。

具体实现技术spring提供 DeferredResult方式。可以允许容器线程快速释放以便可以接受更多的请求提升吞吐量,让真正的业务逻辑在其他的工作线程中去完成。

[[248569]]

3.sse( Server-sent Events )是 WebSocket 的一种轻量代替方案,使用 HTTP 协议。SSE 是单向通道,只能服务器向客户端发送消息,如果客户端需要向服务器发送消息,则需要一个新的 HTTP 请求。

4.websocket : 全双工的,长连接。

服务器推送的四种方式,作为架构师的你全了解吗? 下面举几个业务场景:

1.京东的订单信息获取就采用的是短轮询方式,因为这个服务量极大,但是时间比较短。

2.网页版的微信就采用了长轮询的方式。

3.在线的客服系统,聊天系统一般都采用websocket的方式。

不管是腾讯还是京东,都是结合自身的业务特点,综合分析了几种方式的优缺点选择了合适自己的方式。所以作为一名架构师,不仅要从微观技术考虑还要有宏观的架构思考。

服务器推送的四种方式,作为架构师的你全了解吗?

责任编辑:武晓燕 来源: 今日头条
相关推荐

2010-01-05 16:35:17

2018-03-19 09:13:16

2009-03-06 16:30:51

2019-10-21 11:00:29

微服务架构部署策略

2018-12-05 09:08:26

无服务器场景应用

2009-12-10 14:16:24

2019-02-01 09:06:46

超融合

2018-09-10 09:52:07

无服务器

2019-05-08 10:50:37

交换机组网网络

2012-06-14 09:37:52

2012-02-16 11:35:34

ibmdw

2020-06-12 08:28:29

JavaScript开发技术

2013-06-14 15:24:57

Android开发移动开发数据存储方式

2010-07-28 13:54:42

Flex数据绑定

2017-04-17 19:31:03

Android多线程

2023-05-22 08:03:28

JavaScrip枚举定义

2022-03-25 14:47:24

Javascript数据类型开发

2023-05-10 10:35:14

服务器代码

2021-06-25 08:00:00

物联网医疗技术

2011-05-20 09:55:26

Oracle连接
点赞
收藏

51CTO技术栈公众号