raft
Apache Kafka
raft | Apache Kafka | |
---|---|---|
4 | 26 | |
535 | 27,394 | |
6.2% | 1.0% | |
8.8 | 9.9 | |
5 days ago | 3 days ago | |
Go | Java | |
Apache License 2.0 | 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.
raft
-
On Implementation of Distributed Protocols
etcd Raft — a library for maintaining replicated state machines (written in Go);
- Leader election library
-
Implementing a distributed key-value store on top of implementing Raft in Go
Have you seen this implementation? https://github.com/etcd-io/raft. I’ve used this as a starting point for our consensus with various services.
-
"In HPA, multiple pods may perform duplicate operations and cause data inconsistency?"
This is usual in parallel and distributed systems. For k8s, I recommend you either use Apache Zookeeper to coordinate “logical locks” for operations across pods or use the RAFT consensus protocol for scenarios where you need coordination amongst pods. For context, k8s itself uses the RAFT consensus protocol for etcd; see https://github.com/etcd-io/raft
Apache Kafka
-
On Implementation of Distributed Protocols
Apache Kafka — a distributed event streaming platform implementing a variant of the Raft consensus protocol (written in Java, integrated with Scala);
- Implementing tagged fields for Kafka Protocol
-
Help me identify this design pattern
Spring does this during autoconfiguration. For example this and this. When the user adds a configuration then it gets to overwrite the default from the template. I am looking for something similar, perhaps simpler approach.
- Kafka Broker Config properties
- Scala DevInTraining looking to contribute to projects
- *bip*
-
What is Kafka ?
Source and documentation on GitHub
-
A simple file source/sink connector?
Code is still in trunk though. https://github.com/apache/kafka/tree/trunk/connect/file/src/main/java/org/apache/kafka/connect/file
-
Can someone please eli5 how the hierarchical timing wheel algorithm works?
I briefly described the algorithm in this article and there is a wonderful article from Kafka that goes into more depth in their general purpose implementation. My implementation is specialized and over optimized in comparison, e.g. by using bit manipulation to avoid more expensive division/modulus instructions. Tokio rewrote their timerwheel after I showed them mine, borrowing some ideas but also staying more general. Hope that helps!
-
How-to-Guide: Contributing to Open Source
Apache Kafka
What are some alternatives?
rqlite - The lightweight, distributed relational database built on SQLite.
celery - Distributed Task Queue (development branch)
etcd - Distributed reliable key-value store for the most critical data of a distributed system
Apache ActiveMQ Artemis - Mirror of Apache ActiveMQ Artemis
Atomix - A Kubernetes toolkit for building distributed applications using cloud native principles
redpanda - Redpanda is a streaming data platform for developers. Kafka API compatible. 10x faster. No ZooKeeper. No JVM!
dragonboat - A feature complete and high performance multi-group Raft library in Go.
jetstream - JetStream Utilities
etcd - Distributed reliable key-value store for the most critical data of a distributed system [Moved to: https://github.com/etcd-io/etcd]
Aeron - Efficient reliable UDP unicast, UDP multicast, and IPC message transport
rawkv - Cloud-native distributed key-value database.
NATS - High-Performance server for NATS.io, the cloud and edge native messaging system.