SaaSHub helps you find the best software and product alternatives Learn more →
Top 6 http-streaming Open-Source Projects
-
Centrifugo
Scalable real-time messaging server in a language-agnostic way. Self-hosted alternative to Pubnub, Pusher, Ably. Set up once and forever.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
centrifuge
Real-time messaging library for Go. The simplest way to add feature-rich and scalable WebSocket support to your application. The core of Centrifugo server.
-
centrifuge-js
JavaScript client SDK to communicate with Centrifugo and Centrifuge-based server from browser, NodeJS and React Native. Supports WebSocket, HTTP-streaming over Fetch and Readable Stream API, EventSource, WebTransport and SockJS.
Project mention: WebSockets vs. Server-Sent-Events vs. Long-Polling vs. WebRTC vs. WebTransport | news.ycombinator.com | 2024-03-20Hello, I am author of https://github.com/centrifugal/centrifugo. Our users can choose from WebSocket, EventSource, WebTransport (experimental stabilize in the future). WebRTC is out of scope as the main purpose is central server based real-time json/binary messaging, and WebRTC makes things much more complex since it shines for peer-to-peer and rich media communications.
What I'd like to add is that Centrifugo also supports HTTP-streaming – not mentioned by the OP – but this is a transport which has advantages over Eventsource - like possibility to send POST body on initial request from web browser (with SSE you can not), it supports binary, and with Readable Streams browser API it's widely supported by modern browsers.
Another thing I'd like to mention about Centrifugo - it supports bidirectional WebSocket fallbacks with EventSource and HTTP-streaming, and does this without sticky sessions requirement. I guess nobody else have this at this point. See https://centrifugal.dev/blog/2022/07/19/centrifugo-v4-releas.... Which solves one more practical concern. Sticky sessions is an optimization in Centrifugo case, not a requirement.
If you are interested in topic, we also have a post about WebSocket scalability - https://centrifugal.dev/blog/2020/11/12/scaling-websocket - it covers some design decisions made in Centrifugo.
Project mention: Pushpin: Proxy server that pins connections open to build realtime API endpoints | news.ycombinator.com | 2024-03-24
Project mention: Centrifugo v5 - new major release of real-time messaging server written in Go | /r/golang | 2023-06-29BTW, Centrifugo is based on https://github.com/centrifugal/centrifuge Go library which may provide much more control and flexibility for Gophers than a standalone server and can be embedded to any Go app leveraging all Centrifugo client SDKs.
http-streaming related posts
-
Pushpin: Proxy server that pins connections open to build realtime API endpoints
-
Building a privacy-friendly, self-hosted application architecture with SvelteKit
-
Ask HN: How do you handle WebSocket connections reconnect problem?
-
Help !!! websocket and sveltekit
-
Thoughts on this AWS deployment architecture? (Main web app + lambda microservices)
-
Ask HN: Is realtime functionality of Firebase and Supabase DBs any useful?
-
Mark Nottingham: Server-Sent Events, WebSockets, and HTTP
-
A note from our sponsor - SaaSHub
www.saashub.com | 22 May 2024
Index
What are some of the best open-source http-streaming projects? This list will help you:
Project | Stars | |
---|---|---|
1 | Centrifugo | 7,966 |
2 | pushpin | 3,583 |
3 | CherryPy | 1,789 |
4 | centrifuge | 1,007 |
5 | centrifuge-js | 381 |
6 | http-ipcamera | 9 |
Sponsored