dslabs
conductor
dslabs | conductor | |
---|---|---|
18 | 40 | |
1,327 | 12,999 | |
2.7% | - | |
6.5 | 8.4 | |
2 months ago | about 1 year ago | |
Java | Java | |
- | Apache License 2.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.
dslabs
-
Smurf: Beyond the Test Pyramid
You'd define invariants that must be met. This has been done before.
https://en.wikipedia.org/wiki/Search-based_software_engineer...
e.g. testing implementations of Paxos: https://github.com/emichael/dslabs
-
The leadership myth in replicated databases (2023)
I recently took a Distributed Systems course, and I also thought it was very interesting and unexpected how in the most basic form of Paxos, there is no concept of node roles or hierarchy like leader/follower, master/replica, etc. The base case is that all nodes have the same replicated log, and are "writers" capable of initiating changes to the log.
This youtube video was particularly helpful in learning about consensus algorithms, specifically Paxos/MultiPaxos:
https://www.youtube.com/watch?v=JEpsBg0AO6o
John Ousterhout (author of Raft) walks through Paxos/MultiPaxos as outlined by Leslie Lamport, and then talks about a series of optimizations to improve performance. One key optimization is transitioning from performing consensus on a single log-slot proposal, to the entire log-slot altogether, which mitigates failed consensus rounds, and is where concepts like leader nodes emerge. If your familiar with Raft and Paxos, while listening to these optimization applied to MultiPaxos, you can kind of notice it to begin to resemble Raft.
The course I took was through Georgia Tech, but was largely based around a framework developed at the University of Washington called dslabs:
https://github.com/emichael/dslabs
It was super informative for my learning about the foundations of distributed systems, namely consensus algorithms. I'd highly recommend it for anyone interested in learning more. Although fair warning, the programming assignments were quite difficult and time consuming.
-
Show HN: Advent of Distributed Systems
I took a Distributed Systems course at Georgia Tech this spring, which used a learning framework from the University of Washington: https://github.com/emichael/dslabs
You make a key-value store using multiple techniques, from a basic single-node KV store, to a primary/replica, to PAXOS, to sharded PAXOS (which is essentially what AWS DynamoDB is)
There are tests to validate your implementation. I learned a ton from this, although I gave up at the last milestone because my grade was satisfactory in the class :)
-
Preparing for distributed systems in fall 2023
If you open the syllabus from OMSCS site, it says that the 5 programming assignments will be based on https://github.com/emichael/dslabs
-
anyone want to share their coding assignments?
If you want to learn about distributed systems, this project is very cool imo. https://ellismichael.com/dslabs/ Don’t put your solution in a public repository.
-
DSLabs solutions
Per the original author's repo:
-
Build Your Own Fast, Persistent, Toy KV Store
This might interest you as well: https://github.com/emichael/dslabs
That distributed systems lab is what Georgia Tech's Distributed System lab[0] is based on, at least when I took the course back in 2021
[0] - https://omscs.gatech.edu/cs-7210-distributed-computing
-
CS 7210 - Labs available
Haven't taken the course, so not sure on specifics, but the projects are generally based on dslabs, as highlighted in the syllabus for the course.
-
Gain experience in Distributed Systems
If the former, I don't want to discourage you, but good luck. In my MS we had to build an extremely simplified PAXOS implementation and it took everyone 200+ hrs and I think 1 or 2 out of 50 students ended with a fully correct implementation. Actually, that project is publicly available, here: https://github.com/emichael/dslabs
-
I want to work on distributed systems: Rust or C++?
fwiw this is used in many graduate programs around the country to teach distributed systems concepts: https://github.com/emichael/dslabs and can be done completely independently.
conductor
-
Netflix has open-sourced its Maestro Workflow Orchestrator
I'm a bit confused about what is going on here: This project appears to use Netflix/conductor [0]. But you go to that repo, you see it has been archived, with a message saying it is replaced by Netflix's internal non-OSS version, and by unmentioned community forks – by which I assume they mean Orkes Conductor [1]. But this isn't using Orkes Conductor, it looks like it is using the discontinued Netflix version `com.netflix.conductor:conductor-core:2.31.5` [2] – and an outdated version of it too.
[0] https://github.com/Netflix/conductor
[1] https://github.com/conductor-oss/conductor
[2] https://github.com/Netflix/maestro/blob/e8bee3f1625d3f31d84d...
- Netflix Conductor OSS discontinued support
-
Orkes Monthly Highlights - October 2023
We celebrated a remarkable milestone in September when the Netflix Conductor GitHub repository reached 10k stars. It was a momentous achievement for our DevRel team. Just a month later, we're thrilled to announce that we've surpassed 12k stars! ⭐🎉
-
4 Microservice Patterns Crucial in Microservices Architecture
Also, don’t forget to give us a ⭐ on our Netflix Conductor repo.
-
The Workflow Pattern
One of my favorite workflow engines that has a really simple way to do things was not listed here, so I'll call it out - Netflix Conductor (https://github.com/Netflix/conductor).
Its capabilities comes to light when you model really complex workflows and one real value is how its all very visual not just during modeling but when running it. The history remains visible and you can even see how the whole flow evolved.
-
Orkes Monthly Highlights - September 2023
Yet another significant milestone on our journey: we've proudly reached the 10,000-star mark on our Netflix Conductor GitHub repository! 🌟
-
question about microservice to microservice internal only communication
Give something like https://github.com/Netflix/conductor a try to solve this -- makes it very easy to do what you are trying to achieve.
- Framework used by Netflix to orchestrate microservices
-
Background Task Management on Celery and EC2
Checkout Conductor https://github.com/Netflix/conductor which is far more scalable and easy on the resources with its own Celery like queues. Fully supports writing task workers in python:
- Implementing Saga Pattern in Go Microservices
What are some alternatives?
advanced-java - 😮 Core Interview Questions & Answers For Experienced Java(Backend) Developers | 互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识
Activiti - Activiti is a light-weight workflow and Business Process Management (BPM) Platform targeted at business people, developers and system admins. Its core is a super-fast and rock-solid BPMN 2 process engine for Java. It's open-source and distributed under the Apache license. Activiti runs in any Java application, on a server, on a cluster or in the cloud. It integrates perfectly with Spring, it is extremely lightweight and based on simple concepts.
py4j - Py4J enables Python programs to dynamically access arbitrary Java objects
camunda-demo - 🗞️ Repo for this series: https://dev.to/tgotwig/getting-started-with-camunda-spring-boot-2gbi
barreldb - A disk based KV store (based on Bitcask implementation)
akhq - Kafka GUI for Apache Kafka to manage topics, topics data, consumers group, schema registry, connect and more...
hackpad - The in-browser IDE for Go
kestra - :zap: Workflow Automation Platform. Orchestrate & Schedule code in any language, run anywhere, 500+ plugins. Alternative to Zapier, Rundeck, Camunda, Airflow...
DalvDB - A distributed Key/Value storage, which uses client devices as a replica and stores each user data in a different partition
proposals - Temporal proposals
quickiebase - a pure-Python NoSQL database
Springy-Store-Microservices - Springy Store is a conceptual simple μServices-based project using the latest cutting-edge technologies, to demonstrate how the Store services are created to be a cloud-native and 12-factor app agnostic. Those μServices are developed based on Spring Boot & Cloud framework that implements cloud-native intuitive, design patterns, and best practices.