Go Distributed Systems

Open-source Go projects categorized as Distributed Systems

Top 23 Go Distributed System Projects

Distributed Systems
  • etcd

    Distributed reliable key-value store for the most critical data of a distributed system

    Project mention: I Stopped Using Kubernetes. Our DevOps Team Is Happier Than | news.ycombinator.com | 2024-11-27

    > https://github.com/etcd-io/etcd/issues/9771

    > stale bot marked this as completed (by fucking closing it)

    Ah, yes, what would a Kubernetes-adjacent project be without a fucking stale bot to close issues willy nilly

  • CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  • nsq

    A realtime distributed messaging platform

    Project mention: RabbitMQ 4.0 Released | news.ycombinator.com | 2024-09-18

    https://nsq.io/ is also very reliable, stable, lightweight, and easy to use.

  • seaweedfs

    SeaweedFS is a fast distributed storage system for blobs, objects, files, and data lake, for billions of files! Blob store has O(1) disk seek, cloud tiering. Filer supports Cloud Drive, cross-DC active-active replication, Kubernetes, POSIX FUSE mount, S3 API, S3 Gateway, Hadoop, WebDAV, encryption, Erasure Coding.

    Project mention: Syncthing: Open-Source Continuous File Sync with Privacy in Mind | news.ycombinator.com | 2024-09-29

    I had to stop using it after loads of conflict files piled up over the years in my notes folder.

    I'm trying to switch to WebDAV. Considering Caddy+WebDAV[0] or Peergos[1] or SeaweedFS[2].

    [0] https://whhone.com/posts/webdav-syncthing/

    [1] https://github.com/search?q=repo%3APeergos%2FPeergos%20webda...

    [2] https://github.com/seaweedfs/seaweedfs/blob/master/weed/comm...

  • grpc-go

    The Go language implementation of gRPC. HTTP/2 based RPC

    Project mention: xAI Grok API Beta | news.ycombinator.com | 2024-10-21

    There's no Remote Procedure Call built into the protocol. JsonRPC is also not RPC in itself.

    It's like GraphQL with resolvers.

    They have you imagine it's a procedure, but you can ignore that.

    Here's the golang gRPC Hello World where the equivalent of a resolver in GraphQL replies directly w/o need for a procedure by that name. https://github.com/grpc/grpc-go/blob/master/examples/hellowo...

  • NATS

    High-Performance server for NATS.io, the cloud and edge native messaging system.

    Project mention: A Distributed Systems Reading List | news.ycombinator.com | 2024-10-19
  • rqlite

    The lightweight, user-friendly, distributed relational database built on SQLite.

    Project mention: Rearchitecting: Redis to SQLite | news.ycombinator.com | 2024-09-25

    rqlite[1] could basically do this, if you use read-only nodes[2]. But it's not quite a drop-in replacement for SQLite at the write-side. But from point of view of a clients at the edge, they see a SQLite database being updated which they can directly read[3].

    That said, it may not be practical to have hundreds of read-only nodes, but for moderate-size needs, should work fine..

    Disclaimer: I'm the creator of rqlite.

    [1] https://rqlite.io/

    [2] https://rqlite.io/docs/clustering/read-only-nodes/

    [3] https://rqlite.io/docs/guides/direct-access/

  • Nomad

    Nomad is an easy-to-use, flexible, and performant workload orchestrator that can deploy a mix of microservice, batch, containerized, and non-containerized applications. Nomad is easy to operate and scale and has native Consul and Vault integrations.

    Project mention: Dear friend, you have built a Kubernetes | news.ycombinator.com | 2024-11-24

    https://github.com/hashicorp/nomad/blob/v1.6.0/website/conte... seems to have existed since before the license rug-pull. However I'm open to there being some miscommunication because https://developer.hashicorp.com/nomad/docs/glossary doesn't mention the word "control" and the word "host" could mean any number of things in this context

  • SaaSHub

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

    SaaSHub logo
  • temporal

    Temporal service

    Project mention: Launch HN: Stack Auth (YC S24) – An Open-Source Auth0/Clerk Alternative | news.ycombinator.com | 2024-08-08

    Just for clarification, So you can't really host this without open-sourcing my product (since your server is AGPL). Isn't it a stretch to call this really open-source? I compare this to something like a temporal which I can self-host without worrying (and which I believe is MIT license [https://github.com/temporalio/temporal/blob/main/LICENSE])

  • micro

    An API first development platform (by micro)

    Project mention: Ask HN: Who wants to be hired? (July 2024) | news.ycombinator.com | 2024-07-01
  • juicefs

    JuiceFS is a distributed POSIX file system built on top of Redis and S3.

    Project mention: Launch HN: Regatta Storage (YC F24) – Turn S3 into a local-like, POSIX cloud fs | news.ycombinator.com | 2024-11-18
  • cadence

    Cadence is a distributed, scalable, durable, and highly available orchestration engine to execute asynchronous long-running business logic in a scalable and resilient way.

    Project mention: Ask HN: Who is hiring? (October 2024) | news.ycombinator.com | 2024-10-01
  • raft

    Golang implementation of the Raft consensus protocol

    Project mention: Building a highly-available web service without a database | news.ycombinator.com | 2024-08-09

    >You could just use sqlite with :memory: for the Raft FSM

    That's the basic design that rqlite[1] had for its first ~7 years. :-) But rqlite moved to on-disk SQLite, since with WAL mode, and with 'PRAGMA synchronous=OFF', it is about as fast as writing to RAM. Or at least close enough, and I avoid all the limitations that come with :memory: SQLite databases (max size of 2GB being one). I should have just used on-disk mode from the start, but only now know better.

    (I'm guessing you may know some of this because rqlite uses the same Raft library [2] as Nomad.)

    As for the upgrade issue you mention, yes, it's real. Do you find it in the field much with Nomad? I've managed to introduce new Raft Entry types very infrequently during rqlite's 10-years of development, only once did someone hit in the field with rqlite. Of course, one way to deal with it is to release a version of one's software first that *understands the new types" but doesn't ever write the new types. And once that version is fully deployed, upgrade to the version that actually writes new types too. I've never bothered to do this in practise, and it requires discipline on the part of the end-users too.

    [1] https://www.rqlite.io

    [2] https://github.com/hashicorp/raft

  • git-bug

    Distributed, offline-first bug tracker embedded in git, with bridges

    Project mention: A Local-First Case Study | news.ycombinator.com | 2024-10-01

    Not a file storage but https://github.com/git-bug/git-bug push and sync with any git remote.

  • rpcx

    Best microservices framework in Go, like alibaba Dubbo, but with more features, Scale easily. Try it. Test it. If you feel it's better, use it! 𝐉𝐚𝐯𝐚有𝐝𝐮𝐛𝐛𝐨, 𝐆𝐨𝐥𝐚𝐧𝐠有𝐫𝐩𝐜𝐱! build for cloud!

  • Encore

    Open Source Development Platform for building robust type-safe distributed systems with declarative infrastructure

    Project mention: Launch Week Day 3: Open Source Independence | dev.to | 2024-12-10

    Today we're continuing our open source journey and we're excited to announce that the open source project (encore.dev) is now independent of Encore Cloud—our managed service for automating DevOps and infrastructure on AWS and GCP.

  • kitex

    Go RPC framework with high-performance and strong-extensibility for building micro-services.

    Project mention: How to Visualize and Analyze Data in Open Source Communities | dev.to | 2024-04-21

    After successful deployment, the data display panel looks as follows. Here, we present statistics and displays of the open-source community CloudWeGo, a project by ByteDance. The panels include:

  • KrakenD

    Ultra performant API Gateway with middlewares. A project hosted at The Linux Foundation

  • pachyderm

    Data-Centric Pipelines and Data Versioning

    Project mention: Open Source Advent Fun Wraps Up! | dev.to | 2024-01-05

    20. Pachyderm | Github | tutorial

  • easegress

    A Cloud Native traffic orchestration system

    Project mention: Easegress: Cloud Native traffic orchestration system | news.ycombinator.com | 2024-01-17
  • tendermint

    ⟁ Tendermint Core (BFT Consensus) in Go

    Project mention: On Implementation of Distributed Protocols | dev.to | 2024-04-05

    Tendermint Core / CometBFT — a state machine replication engine (written in Go);

  • torrent

    Full-featured BitTorrent client package and utilities

    Project mention: BTFS (BitTorrent Filesystem) | news.ycombinator.com | 2024-04-15

    https://github.com/anacrolix/torrent has a fuse driver since 2013. I'm in the early stages of removing it. There are WebDAV, 3rd party FUSE, and HTTP wrappers of the client all doing similar things: serving magnet links, infohashes, and torrent files like an immutable filesystem. BitTorrent v2 support is currently in master.

  • gaia

    Build powerful pipelines in any programming language.

  • spicedb

    Open Source, Google Zanzibar-inspired database for scalably storing and querying fine-grained authorization data

    Project mention: How I'm Learning SpiceDB | dev.to | 2024-11-12

    Good time to shout-out that SpiceDB is completely open-source, and we welcome community contributions! Whether you'd like to suggest improvements, fix documentation typos, or contribute to the community, please feel free to do so. Check out our Good First Issues and join our Discord community.

  • SaaSHub

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

    SaaSHub logo
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).

Go Distributed Systems discussion

Log in or Post with

Go Distributed Systems related posts

  • I Stopped Using Kubernetes. Our DevOps Team Is Happier Than

    2 projects | news.ycombinator.com | 27 Nov 2024
  • Fast, simple, cost-effective Postgres replication

    1 project | news.ycombinator.com | 24 Nov 2024
  • Nomad: Simple, flexible scheduler, orchestrator to deploy and manage containers

    1 project | news.ycombinator.com | 24 Nov 2024
  • Understanding etcd's Raft Implementation: A Deep Dive into Raft Log

    2 projects | dev.to | 11 Nov 2024
  • Designing a fault-tolerant etcd cluster

    1 project | dev.to | 4 Nov 2024
  • xAI Grok API Beta

    2 projects | news.ycombinator.com | 21 Oct 2024
  • Boost Kubernetes Efficiency: Upgrade to v1.14 in 11 Easy Steps!

    1 project | dev.to | 9 Oct 2024
  • A note from our sponsor - SaaSHub
    www.saashub.com | 11 Dec 2024
    SaaSHub helps you find the best software and product alternatives Learn more →

Index

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

Project Stars
1 etcd 47,993
2 nsq 25,019
3 seaweedfs 23,159
4 grpc-go 21,165
5 NATS 16,093
6 rqlite 15,863
7 Nomad 15,007
8 temporal 12,224
9 micro 12,168
10 juicefs 11,010
11 cadence 8,356
12 raft 8,303
13 git-bug 8,163
14 rpcx 8,130
15 Encore 7,912
16 kitex 7,103
17 KrakenD 6,377
18 pachyderm 6,186
19 easegress 5,787
20 tendermint 5,724
21 torrent 5,590
22 gaia 5,200
23 spicedb 5,195

Sponsored
CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai