LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

Pushpin:开源即时通信神器,让你的API秒变实时API,轻松实现WebSocket,HTTP流和HTTP长轮询等服务

freeflydom
2023年10月28日 11:0 本文热度 412

作为一个开发者,你可能已经利用过REST API来构建和集成各种应用。REST API是基于HTTP协议的交互模式,它使得客户端和服务器可以通过请求和响应来进行数据交换,简单、灵活、通用。

然而,当你开发实时应用,如IM聊天、协作等应用时,意味着客户端需要不断向服务器请求才能获取到最新数据,这将浪费大量网络流量和资源,导致数据延迟。要么采用复杂的WebSocket协议,但无疑会增加开发的难度和成本。为此,我们是否能找一种更简便、低成本的解决方案呢?答案是肯定的,它就是Pushpin。

什么是Pushpin?

Pushpin是用Rust和C++编写的反向代理服务器。它可以让你在不修改后端代码的情况下,为你的REST API添加实时通信功能。它支持WebSocket、HTTP流和HTTP长轮询等多种实时协议,让你的前端和后端之间实现双向通信。

Pushpin不会缓存数据,不会影响应用程序的数据模型,也不会绑定您的 API 定义。它只是一个中间层,让后端能够根据自己的数据模型来处理客户端的请求。客户端也不必关心“频道”或“消息”的概念,只要发送 HTTP 请求或 WebSocket 帧,后端就能根据这些输入来推送实时数据。

Pushpin如何工作?

 

Pushpin它作为一个中间层,接收前端发来的请求,并转发给后端。如果后端返回了一个普通的HTTP响应,Pushpin就直接返回给前端。如果后端返回了一个特殊的响应,比如带有Grip头部或者带有订阅信息,Pushpin就会保持连接,并等待后端通过控制API推送数据给前端。

这样一来,你就可以在后端使用任何语言和框架来开发REST API,而不需要关心实时协议的细节,只要你按照Pushpin提供的规范来返回响应和推送数据,Pushpin就会自动为你处理好前端和后端之间的实时通信。

Pushpin能做什么?

Pushpin非常适合各种设置,因为它充当代理服务器和发布-订阅代理。

1、代理
最基本的设置是将Pushpin放在典型的Web服务后端前面,后端将数据直接发布到Pushpin。Web服务本身可能会发布数据以响应传入的请求,或者可能存在某种发布数据的后台进程/作业。

 

2、 使用API管理
可以将API管理系统与Pushpin结合使用。将Pushpin放在前面,以便API管理系统不会受到长期连接的影响。此外,Pushpin可以将WebSocket协议转换为HTTP,允许API管理系统对转换后的数据进行操作。

3、 使用消息队列
如果要推送大量数据,则可能需要引入中间消息队列。这样,后端进程可以将数据一次性发布到消息队列,队列再通过适配器将数据中继到一个或多个Pushpin实例。Pushpin能够将订阅信息转发到此类适配器,以便消息能发送到具有给定通道订阅者的Pushpin实例。

 

4、 微服务

在微服务环境中,Pushpin可以轻松侦听来自其他微服务的即时更新,而无需集中式消息代理。每个微服务都有自己的Pushpin实例,微服务通过组织自己的API协定而不是特定于供应商的机制相互通信。

 


5、 作为大型 CDN
由于Pushpin实例互不通信,并且消息传递可以分层,这意味着Pushpin实例可以在地理上分布以创建实时推送 CDN。客户端可以连接到最近的区域边缘服务器,事件可以从数据源辐射到边缘。

 

为了方便集成,提供有许多后端语言和框架的库:

Pushpin在Apache许可证 2.0 版下获得许可,它是一个让你的REST API变成实时API的神器,它可以为你的应用添加实时通信功能,无缝地与现有的REST API集成。它支持多种实时协议,可以和任何语言和框架配合使用,还提供了高效稳定的服务。如果你想要开发一个实时的应用,不妨试试Pushpin!

项目地址:https://pushpin.org/   文档地址:https://pushpin.org/docs/about/  源码地址:https://github.com/fastly/pushpin



 
文章出自猿惑豁微信公众号



该文章在 2023/10/28 11:00:15 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved