加入收藏 | 设为首页 | 会员中心 | 我要投稿 阿坝站长网 (https://www.0837zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 评论 > 正文

Tengine从Web代理服务器到分布式推送服务器

发布时间:2021-02-27 11:27:37 所属栏目:评论 来源:互联网
导读:engine 负责和客户端进行长连接的保活、和应用服务器使用具体负载均衡算法进行短连接调度。 当前HTTP的推送解决方案 通常推送的诉求,是需要定时的往端上发送数据, 轮询 端上 定时发送请求来轮询获取业务数据。 这是最简单且最容易想到的手段,但往往也是在

engine 负责和客户端进行长连接的保活、和应用服务器使用具体负载均衡算法进行短连接调度。

当前HTTP的推送解决方案

通常推送的诉求,是需要定时的往端上发送数据,

轮询

端上 定时发送请求来轮询获取业务数据。

这是最简单且最容易想到的手段,但往往也是在实际项目中最不可能使用的方案。因为其缺点非常明显:

1、较短间隔的轮询请求会导致 Server 端无端的处理无用的 QPS ,且 QPS 与端的数量成线性正比

2、较长间隔的轮询请求,其推送时效性无法保证

应用服务处理

即,Tengine 作为反向代理服务器只完成基本的转发能力,业务 Hold 住 HTTP 的请求,并且在必要时,对其进行 response 。
 

缺点很明显,应用需要自己维护该长连接的生命周期,而往往推送场景的使用者均是超大规模的终端设备,超大规模的长连接很明显会消耗大量应用机器资源。

HTTP2 推送(Server Push)

实际上 HTTP2 的推送功能指的是单个 request 有多个 response ,与我们长连接通道持续传输数据的需求不匹配。

这里贴上 RFC 对 Server Push 功能的介绍,在这里就不再展开了。

(编辑:阿坝站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读