Go Real-time

Open-source Go projects categorized as Real-time

Top 16 Go Real-time Projects

  • Centrifugo

    Scalable real-time messaging server in a language-agnostic way. Self-hosted alternative to Pubnub, Pusher, Ably. Set up once and forever.

    Project mention: WebSockets vs. Server-Sent-Events vs. Long-Polling vs. WebRTC vs. WebTransport | news.ycombinator.com | 2024-03-20

    Hello, 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.

  • dozzle

    Realtime log viewer for docker containers.

    Project mention: Dozzle: Lightweight, web-based Docker log viewer with real-time monitoring | news.ycombinator.com | 2024-01-29
  • 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.

    Project mention: Centrifugo v5 - new major release of real-time messaging server written in Go | /r/golang | 2023-06-29

    BTW, 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.

  • dicom

    ⚡High Performance DICOM Medical Image Parser in Go.

  • tigris

    Tigris is an Open Source Serverless NoSQL Database and Search Platform.

    Project mention: How to use fly.io and Tigris to deploy a Next.js app | dev.to | 2024-04-02

    You can learn more about fly.io and tigris, we will need to create an account on both platforms for this project regardless. Anyway with the theory out of the way let's get started in the next section as we create our accounts and start building the app.

  • cmd

    Non-blocking external commands in Go with streaming output (by go-cmd)

  • trice

    🟢 super fast 🚀 and tiny 🐥 embedded device 𝘾 printf-like trace ✍ code, works also inside ⚡ interrupts ⚡ and real-time PC 💻 logging (trace ID visualization 👀)

    Project mention: Fully Permissive License C++ Logger For Embedded System | /r/embedded | 2023-06-28
  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • go-random-chat

    Modern real-time chat in scalable architecture.

  • Voronoi_Image_Manipulation

    A system independent tool for interactive image manipulation with Voronoi and Delaunay data structures.

  • go-res

    RES Service protocol library for Go

  • trutun

    Trutun creates secret tunnel by IP address using Teonet TRU transport.

  • chat-websocket-gin

    Example of using gorilla websocket with gin (chat with rooms)

  • roc-go

    Golang bindings for Roc Toolkit.

    Project mention: Finding an open source project to write tests for. | /r/opensource | 2023-10-02
  • teotun

    Creating encrypted tunnel between hosts without public IPs

  • sakura

    Real-time pub/sub messaging system (by ischenkx)

  • tru

    The TRU protocol is the UDP based protocol for real time communications that allows sending messages with low latency and provides protocol reliability features. (by teonet-go)

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2024-04-02.

Go Real-time related posts

Index

What are some of the best open-source Real-time projects in Go? This list will help you:

Project Stars
1 Centrifugo 7,888
2 dozzle 4,204
3 centrifuge 978
4 dicom 895
5 tigris 885
6 cmd 865
7 trice 412
8 go-random-chat 323
9 Voronoi_Image_Manipulation 234
10 go-res 62
11 trutun 26
12 chat-websocket-gin 21
13 roc-go 20
14 teotun 14
15 sakura 11
16 tru 11
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com