github-unifrost/unifrost:使用伺服器傳送事件(EventSource)技術中繼Apache Kafka等pubsub訊息流到Web,便於實時檢視訊息內容
unifrost是一個go模組,用於通過SSE(Eventsource)將pubsub訊息中繼到Web 。它基於Twitter的實現,用於在其新的Web應用程式中進行實時事件流傳輸。
它使用Go CDK作為支援多個pubsub供應商的供應商中性pubsub驅動程式:
- Google Cloud Pub / Sub
- Amazon Simple Queuing Service(待處理)
- Azure服務匯流排(待定)
- RabbitMQ
- NATS
- Apache Kafka
- 記憶體中(僅用於測試)
為什麼要選擇SSE而不是WebSockets?
原因之一是因為後來的API(如WebSocket)提供了更豐富的協議來執行雙向全雙工通訊。但是,在某些情況下,不需要從客戶端傳送資料。您只需要某些伺服器操作的更新即可。一些示例是朋友的狀態更新,股票行情自動收錄器,新聞提要或其他自動資料推送機制(例如,更新客戶端Web SQL資料庫或IndexedDB物件儲存)。如果您需要將資料傳送到伺服器,則Fetch API永遠是朋友。
SSE通過傳統的HTTP傳送。這意味著它們不需要特殊的協議或伺服器實現即可正常工作。另一方面,WebSockets需要全雙工連線和新的Web Socket伺服器來處理協議。另外,伺服器傳送的事件具有WebSocket設計上缺少的各種功能,例如自動重新連線,事件ID和傳送任意事件的功能。
因為SSE在HTTP之上工作,所以HTTP協議的改進也可以使SSE受益。例如,基於QUIC的開發中的HTTP / 3協議可以在由於缺少行頭阻塞而導致資料包丟失的情況下提供其他效能改進。
相關文章
- Apache Kafka訊息傳遞策略ApacheKafka
- Kafka -- 訊息傳送儲存流程Kafka
- 傳送kafka訊息的shell指令碼Kafka指令碼
- 以事務方式傳送 Kafka 訊息Kafka
- 訊息中介軟體—RocketMQ訊息傳送MQ
- 阿里雲訊息佇列 Kafka-訊息檢索實踐阿里佇列Kafka
- SpringBoot整合rabbitMq實現訊息延時傳送Spring BootMQ
- RocketMQ中Producer訊息的傳送MQ
- Apache Kafka和Spring Boot的容錯和可靠訊息傳遞 – Arnold GalovicsApacheKafkaSpring Boot
- spring boot使用Java並行流傳送kafka訊息報錯Spring BootJava並行Kafka
- OCX 控制元件主動傳送訊息給 MFC 視窗訊息控制元件
- 【RocketMQ】MQ訊息傳送MQ
- RocketMQ(八):訊息傳送MQ
- 使用spring.cloud.stream來傳送kafka訊息,並根據某欄位將訊息傳送到固定partition上SpringCloudKafka
- RabbitMQ,RocketMQ,Kafka 事務性,訊息丟失和訊息重複傳送的處理策略MQKafka
- 用程式碼理解 ObjC 中的傳送訊息和訊息轉發OBJ
- Spring Boot 整合 RabbitMQ 傳送延時訊息Spring BootMQ
- (原創) odoo17中在訊息主題(mail.thread)中傳送訊息時,是否通知訊息作者進行控制OdooAIthread
- 鴻蒙傳送訊息通知鴻蒙
- TNW-傳送模板訊息TNW
- 6-RocketMQ傳送訊息MQ
- RocketMQ(九):訊息傳送(續)MQ
- uwsgi多程式配合kafka-python訊息無法傳送KafkaPython
- 【Azure 事件中心】在微軟雲中國區 (Mooncake) 上實驗以Apache Kafka協議方式傳送/接受Event Hubs訊息 (Java版)事件微軟ApacheKafka協議Java
- Strimzi Kafka Bridge(橋接)實戰之二:生產和傳送訊息Kafka橋接
- KMQ:基於Apache Kafka的可靠性訊息佇列MQApacheKafka佇列
- 技術分享| 訊息佇列Kafka群集部署佇列Kafka
- 排查MQ訊息傳送和接收MQ
- 小程式傳送訂閱訊息
- Runtime備忘-訊息傳送流程
- 快速向 Google Chat 傳送訊息Go
- RocketMQ -- 訊息傳送儲存流程MQ
- Python呼叫飛書傳送訊息Python
- 傳送不同型別的訊息型別
- Knative 實戰:基於 Kafka 實現訊息推送Kafka
- 在python中使用itchat傳送微信訊息Python
- 使用Azure Runbook 傳送訊息到Azure Storage Queue
- PHP Kafka 訊息佇列使用PHPKafka佇列