liftbridge
raft
liftbridge | raft | |
---|---|---|
10 | 7 | |
2,532 | 7,845 | |
0.1% | 0.7% | |
6.4 | 6.0 | |
12 days ago | 8 days ago | |
Go | Go | |
Apache License 2.0 | Mozilla Public 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.
liftbridge
- Kafka alternatives
-
Understanding NATS.io concepts vs. Kafka - similarities and differences
Liftbridge (https://liftbridge.io/) is more or less the NATS Kafka versioning.
-
Gufo Liftbridge - the Python asyncio Liftbridge client
[Gufo Liftbridge](https://pypi.org/project/gufo-liftbridge/) is the Python asyncio Liftbridge client.
- What I Wish Someone Would Have Told Me About Using Rabbitmq
-
On Efficiently Partitioning a Topic in Apache Kafka
https://liftbridge.io/
Apache Pulsar might be worth a look, but it's actually more complex under the hood than Kafka, but has a lot of features built-in that either aren't in FOSS Kafka yet, like tiered storage, or won't be until Confluent doesn't dominate the PMC (like an integrated schema registry), or just can't be done very nicely, if at all, like decent multi-tenancy.
That said, it's a fast moving target, the code quality last I looked was patchy in places, ditto the documentation for both it and Bookkeeper, and the admin overhead is higher (managing bookies and brokers and Zookeepers vs. just brokers and ZK with Kafka, or when KRaft is production ready, just brokers).
-
Processing billions of events in real time at Twitter
This is basically an ad for GCP right?
That said, it looks like Kafka is by far and away the way to handle persistent logs/events at scale. AFAIK a company here in Japan called LINE has all their messaging flowing through a large kafka cluster themselves.
Wonder if anyone is running large NATS Jetstream[0]/Liftbridge[1] or Pulsar[2] (yahoo runs those) clusters. I guess Pulsar might be #2 in terms of adoption at large scale?
[0]: https://docs.nats.io/jetstream/jetstream
[1]: https://liftbridge.io/
[2]: https://pulsar.apache.org/
-
Most primitive lighweight alternative to Kafka?
Do you need the messages to be durable, if so you can have a look at Liftbridge: - https://liftbridge.io/ - https://github.com/liftbridge-io/liftbridge
-
ZooKeeper-free Kafka is out. First Demo
And if you want closer kafka semantics built on top of nats, check out liftbridge:
https://liftbridge.io/
- NATS, NATS Streaming & NATS JetStream + How to build a JetStream Cluster & Go Client
raft
-
Leader election library
Depending on your exact needs, you could try HashiCorp's Raft implementation: https://github.com/hashicorp/raft
-
Implementing a distributed key-value store on top of implementing Raft in Go
I have found the performance tests very tricky to get to pass without having any input from others. The assignment is really very unforgiving, I would wager the test suite is comparable to how commercial Raft implementations are tested (e.g. https://github.com/hashicorp/raft)
- Raft Is So Fetch: The Raft Consensus Algorithm Explained Through Mean Girls
-
Concurrency in Go is hard
While searching on GitHub, I found a pull request in the Raft implementation by Hashicorp (a distributed consensus algorithm), which we can use to demonstrate the following problem. Let’s start by showing the code (at api.go):
-
Looking for a TypeScript Implementation of Raft
Hey,
you could inspire yourself by hashicorps raft implementation written in go and build one for typescript. Code is quite good to read and Go ins't that far away from typescript.
https://github.com/hashicorp/raft
-
rqlite, the light distributed database built with Go and SQLite, v7.2 now with autoclustering via DNS and DNS SRV
Production-grade distributed consensus system.
-
Raft Consensus Protocol
In general Hashicorp's repos are high quality:
https://github.com/hashicorp/raft
Example application: https://github.com/Jille/raft-grpc-example
What are some alternatives?
jetstream - JetStream Utilities
serf - Service orchestration and management tool.
Apache Kafka - Mirror of Apache Kafka
tendermint - ⟁ Tendermint Core (BFT Consensus) in Go
NATS - High-Performance server for NATS.io, the cloud and edge native messaging system.
torrent - Full-featured BitTorrent client package and utilities
KrakenD - Ultra performant API Gateway with middlewares. A project hosted at The Linux Foundation
etcd - Distributed reliable key-value store for the most critical data of a distributed system [Moved to: https://github.com/etcd-io/etcd]
glow - Glow is an easy-to-use distributed computation system written in Go, similar to Hadoop Map Reduce, Spark, Flink, Storm, etc. I am also working on another similar pure Go system, https://github.com/chrislusf/gleam , which is more flexible and more performant.
dragonboat - A feature complete and high performance multi-group Raft library in Go.
redpanda - Redpanda is a streaming data platform for developers. Kafka API compatible. 10x faster. No ZooKeeper. No JVM!
DHT - BitTorrent DHT Protocol && DHT Spider.