狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

Pushpin:開源即時通信神器,讓你的API秒變實時API,輕松實現(xiàn)WebSocket,HTTP流和HTTP長輪詢等服務(wù)

freeflydom
2023年10月28日 11:0 本文熱度 581

作為一個開發(fā)者,你可能已經(jīng)利用過REST API來構(gòu)建和集成各種應(yīng)用。REST API是基于HTTP協(xié)議的交互模式,它使得客戶端和服務(wù)器可以通過請求和響應(yīng)來進行數(shù)據(jù)交換,簡單、靈活、通用。

然而,當你開發(fā)實時應(yīng)用,如IM聊天、協(xié)作等應(yīng)用時,意味著客戶端需要不斷向服務(wù)器請求才能獲取到最新數(shù)據(jù),這將浪費大量網(wǎng)絡(luò)流量和資源,導(dǎo)致數(shù)據(jù)延遲。要么采用復(fù)雜的WebSocket協(xié)議,但無疑會增加開發(fā)的難度和成本。為此,我們是否能找一種更簡便、低成本的解決方案呢?答案是肯定的,它就是Pushpin。

什么是Pushpin?

Pushpin是用Rust和C++編寫的反向代理服務(wù)器。它可以讓你在不修改后端代碼的情況下,為你的REST API添加實時通信功能。它支持WebSocket、HTTP流和HTTP長輪詢等多種實時協(xié)議,讓你的前端和后端之間實現(xiàn)雙向通信。

Pushpin不會緩存數(shù)據(jù),不會影響應(yīng)用程序的數(shù)據(jù)模型,也不會綁定您的 API 定義。它只是一個中間層,讓后端能夠根據(jù)自己的數(shù)據(jù)模型來處理客戶端的請求。客戶端也不必關(guān)心“頻道”或“消息”的概念,只要發(fā)送 HTTP 請求或 WebSocket 幀,后端就能根據(jù)這些輸入來推送實時數(shù)據(jù)。

Pushpin如何工作?

 

Pushpin它作為一個中間層,接收前端發(fā)來的請求,并轉(zhuǎn)發(fā)給后端。如果后端返回了一個普通的HTTP響應(yīng),Pushpin就直接返回給前端。如果后端返回了一個特殊的響應(yīng),比如帶有Grip頭部或者帶有訂閱信息,Pushpin就會保持連接,并等待后端通過控制API推送數(shù)據(jù)給前端。

這樣一來,你就可以在后端使用任何語言和框架來開發(fā)REST API,而不需要關(guān)心實時協(xié)議的細節(jié),只要你按照Pushpin提供的規(guī)范來返回響應(yīng)和推送數(shù)據(jù),Pushpin就會自動為你處理好前端和后端之間的實時通信。

Pushpin能做什么?

Pushpin非常適合各種設(shè)置,因為它充當代理服務(wù)器和發(fā)布-訂閱代理。

1、代理
最基本的設(shè)置是將Pushpin放在典型的Web服務(wù)后端前面,后端將數(shù)據(jù)直接發(fā)布到Pushpin。Web服務(wù)本身可能會發(fā)布數(shù)據(jù)以響應(yīng)傳入的請求,或者可能存在某種發(fā)布數(shù)據(jù)的后臺進程/作業(yè)。

 

2、 使用API管理
可以將API管理系統(tǒng)與Pushpin結(jié)合使用。將Pushpin放在前面,以便API管理系統(tǒng)不會受到長期連接的影響。此外,Pushpin可以將WebSocket協(xié)議轉(zhuǎn)換為HTTP,允許API管理系統(tǒng)對轉(zhuǎn)換后的數(shù)據(jù)進行操作。

3、 使用消息隊列
如果要推送大量數(shù)據(jù),則可能需要引入中間消息隊列。這樣,后端進程可以將數(shù)據(jù)一次性發(fā)布到消息隊列,隊列再通過適配器將數(shù)據(jù)中繼到一個或多個Pushpin實例。Pushpin能夠?qū)⒂嗛喰畔⑥D(zhuǎn)發(fā)到此類適配器,以便消息能發(fā)送到具有給定通道訂閱者的Pushpin實例。

 

4、 微服務(wù)

在微服務(wù)環(huán)境中,Pushpin可以輕松偵聽來自其他微服務(wù)的即時更新,而無需集中式消息代理。每個微服務(wù)都有自己的Pushpin實例,微服務(wù)通過組織自己的API協(xié)定而不是特定于供應(yīng)商的機制相互通信。

 


5、 作為大型 CDN
由于Pushpin實例互不通信,并且消息傳遞可以分層,這意味著Pushpin實例可以在地理上分布以創(chuàng)建實時推送 CDN。客戶端可以連接到最近的區(qū)域邊緣服務(wù)器,事件可以從數(shù)據(jù)源輻射到邊緣。

 

為了方便集成,提供有許多后端語言和框架的庫:

Pushpin在Apache許可證 2.0 版下獲得許可,它是一個讓你的REST API變成實時API的神器,它可以為你的應(yīng)用添加實時通信功能,無縫地與現(xiàn)有的REST API集成。它支持多種實時協(xié)議,可以和任何語言和框架配合使用,還提供了高效穩(wěn)定的服務(wù)。如果你想要開發(fā)一個實時的應(yīng)用,不妨試試Pushpin!

項目地址:https://pushpin.org/   文檔地址:https://pushpin.org/docs/about/  源碼地址:https://github.com/fastly/pushpin



 
文章出自猿惑豁微信公眾號



該文章在 2023/10/28 11:00:15 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務(wù)費用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務(wù)都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved