gossip-glomers
maelstrom
gossip-glomers | maelstrom | |
---|---|---|
12 | 14 | |
85 | 2,800 | |
- | 2.7% | |
4.5 | 5.1 | |
about 1 year ago | about 1 month ago | |
Go | Clojure | |
- | Eclipse Public License 1.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gossip-glomers
-
Learning about distributed systems: where to start?
There's a nice-looking series of exercises from fly.io: https://fly.io/dist-sys/
(I haven't actually done them myself yet, but they look great. Not a standalone resource, but good for practice)
-
Maelstrom: A workbench for learning distributed systems
Really worth noting that Maelstrom was the project they used to build the "Fly.io Distributed Systems Challenge" https://fly.io/dist-sys/ which was pretty popular at one point and discussed here, too. https://news.ycombinator.com/item?id=34897723
-
Skip the API, Ship Your Database
LiteFS works similarly to async replication you'd find in Postgres or MySQL so it doesn't try to be as strict as something running a distributed consensus protocol like Raft. The guarantees for async replication are fairly loose so I'm not sure Jepsen testing would be useful for that per se.
On the LiteFS Cloud side, it currently does streaming backups so it has similar guarantees but we are expanding its feature set and I could see running Jepsen testing on that in the future. We worked with Kyle Kingsbury in the past on some distributed systems challenges[1] and he was awesome to work with. Would definitely love to engage with him again.
[1]: https://fly.io/dist-sys/
-
Fly.io Postgres cluster went down for 3 days, no word from them about it
They have really good tech blog posts. Also, they have https://fly.io/dist-sys/
-
Ask HN: Leetcode for Back End and Server Development
- https://hackattic.com/ : Interesting programming Problems.
- https://sadservers.com/ : Learn Linux by solving problems.
- https://fly.io/dist-sys/ : Distributed Systems Problems.
- https://github.com/pingcap/talent-plan/ : System Programming / Distributed System Challenge.
- https://protohackers.com/ : Server Programming Challenges.
- https://codecrafters.io/ : Implement server tech / softwares from scratch.
- https://hyperskill.org/ : Lots of projects based tutorials.
- https://fly.io/dist-sys/ : Distributed Systems Problems.
-
zio-maelstrom
Gossip Glomers https://fly.io/dist-sys/ by fly.io is a great way to learn distributed systems. They are fun to solve challenges. zio-maelstrom helps you get started faster in Scala!
-
Where can I learn in depth about distributed systems and distributed computing from a traditional computer science perspective?
There’s also this to practice https://fly.io/dist-sys/
-
Am I screwed if I'm finding it really difficult to enjoy using HTML/CSS and JS?
Yeah no the embedded stuff is more a hobby, I'm interested professionally in stuff like what you said you're doing now in another comment, distributed systems and such. Infrastructure for cloud providers, that kind of thing. Right now I'm doing this distributed systems challenge series thing https://fly.io/dist-sys/ which should be cool to put on my github.
- Ask HN: Projects to do to get better at distributed systems
maelstrom
- Maelstrom: A workbench for learning distributed systems
-
The Raft Consensus Algorithm
Maelstrom [1], a workbench for learning distributed systems from the creator of Jepsen, includes a simple (model-checked) implementation of Raft and an excellent tutorial on implementing it.
Raft is a simple algorithm, but as others have noted, the original paper includes many correctness details often brushed over in toy implementations. Furthermore, the fallibility of real-world hardware (handling memory/disk corruption and grey failures), the requirements of real-world systems with tight latency SLAs, and a need for things like flexible quorum/dynamic cluster membership make implementing it for production a long and daunting task. The commit history of etcd and hashicorp/raft, likely the two most battle-tested open source implementations of raft that still surface correctness bugs on the regular tell you all you need to know.
The tigerbeetle team talks in detail about the real-world aspects of distributed systems on imperfect hardware/non-abstracted system models, and why they chose viewstamp replication, which predates Paxos but looks more like Raft.
[1]: https://github.com/jepsen-io/maelstrom/
[2]: https://github.com/tigerbeetle/tigerbeetle/blob/main/docs/DE...
-
zio-maelstrom
I've tried to run the echo example and I'me getting some problems. I assume it works as the same example in the maelstrom's getting started ready (https://github.com/jepsen-io/maelstrom/blob/main/doc/01-getting-ready/index.md).
- Ask HN: Projects to do to get better at distributed systems
- Resources about distributed systems in go
- FLiPN-FLaNK Stack for March 6, 2023
-
Gossip Glomers: Fly.io Distributed Systems Challenges
Love it. Thanks for putting this together! The actual challenges here [0].
Though I'm curious: are these different from the chapters in the Maelstrom documentation [1]? There seems to be a bit of overlap anyway.
[0] https://fly.io/dist-sys/
[1] https://github.com/jepsen-io/maelstrom#documentation
What are some alternatives?
transcripts - Changelog episode transcripts in Markdown format 📚
nosqlbench - The open source, pluggable, nosql benchmarking suite.
litevfs - LiteFS VFS SQLite extension for serverless environments
kaocha - Full featured next gen Clojure test runner
talent-plan - open source training courses about distributed database and distributed systems
titanoboa - Titanoboa makes complex workflows easy. It is a low-code workflow orchestration platform for JVM - distributed, highly scalable and fault tolerant.
Phoenix - Peace of mind from prototype to production
bond - spying for tests
flyctl - Command line tools for fly.io services
openai-python - The official Python library for the OpenAI API
litefs - FUSE-based file system for replicating SQLite databases across a cluster of machines
unilm - Large-scale Self-supervised Pre-training Across Tasks, Languages, and Modalities