SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 Go Distributed System Projects
-
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.
-
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-29I 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...
-
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...
-
-
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.
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
-
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])
-
-
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: 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
-
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
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.
-
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:
-
-
20. Pachyderm | Github | tutorial
-
Project mention: Easegress: Cloud Native traffic orchestration system | news.ycombinator.com | 2024-01-17
-
Tendermint Core / CometBFT — a state machine replication engine (written in Go);
-
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.
-
-
spicedb
Open Source, Google Zanzibar-inspired database for scalably storing and querying fine-grained authorization data
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
Go Distributed Systems discussion
Go Distributed Systems related posts
-
I Stopped Using Kubernetes. Our DevOps Team Is Happier Than
-
Fast, simple, cost-effective Postgres replication
-
Nomad: Simple, flexible scheduler, orchestrator to deploy and manage containers
-
Understanding etcd's Raft Implementation: A Deep Dive into Raft Log
-
Designing a fault-tolerant etcd cluster
-
xAI Grok API Beta
-
Boost Kubernetes Efficiency: Upgrade to v1.14 in 11 Easy Steps!
-
A note from our sponsor - SaaSHub
www.saashub.com | 11 Dec 2024
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 |