anemo
Apache Kafka
anemo | Apache Kafka | |
---|---|---|
1 | 27 | |
41 | 27,641 | |
- | 1.1% | |
4.6 | 9.9 | |
about 1 month ago | 6 days ago | |
Rust | 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.
anemo
-
On Implementation of Distributed Protocols
Communication layer in Sui is based on anemo, a peer-to-peer networking library built on top of QUIC. QUIC is a modern higher-level network transport protocol layered over UDP. It has built-in support for encryption and multiplexing. Similar to TCP connections, QUIC streams are reliable, ordered, bidirectional, providing flow control (backpressure), but they are cheap and almost instantaneous to open once an initial connection is established. The anemo library takes advantage of the efficient stream-multiplexing capability of QUIC; libp2p also uses the built-in capabilities of QUIC when it is used as a transport mechanism.
Apache Kafka
- ZhongAn Insurance's Wang Kai Analyzes Kafka Network Communication
-
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!
What are some alternatives?
celery - Distributed Task Queue (development branch)
Apache ActiveMQ Artemis - Mirror of Apache ActiveMQ Artemis
redpanda - Redpanda is a streaming data platform for developers. Kafka API compatible. 10x faster. No ZooKeeper. No JVM!
jetstream - JetStream Utilities
Aeron - Efficient reliable UDP unicast, UDP multicast, and IPC message transport
NATS - High-Performance server for NATS.io, the cloud and edge native messaging system.
Apache Qpid - Mirror of Apache Qpid
Hermes - Fast and reliable message broker built on top of Kafka.
JBoss HornetQ - HornetQ is an open source project to build a multi-protocol, embeddable, very high performance, clustered, asynchronous messaging system.
Chronicle Queue - Micro second messaging that stores everything to disk
Apache RocketMQ - Apache RocketMQ is a cloud native messaging and streaming platform, making it simple to build event-driven applications.
Apache Camel - Apache Camel is an open source integration framework that empowers you to quickly and easily integrate various systems consuming or producing data.