Jafka mq is a distributed publish-subscribe messaging system cloned from Apache Kafka.
Jafka 是一个高性能的跨语言分布式消息系统。Jafka已经开源,使用github托管。
Jafka是由Apache孵化的Kafka(由LinkedIn捐助给Apache)克隆而来。Jafka 1.0完整遵循Kafka 0.7的规范,几乎是Kafka的克隆版(有一些改进和调整)。
Jafka有几个吸引人的特性:
消息持久化非常快,服务端存储消息的开销为O(1),并且基于文件系统,能够持久化TB级的消息而不损失性能
吞吐量很大,在我的笔记本DELL E6220、Fedora 16 x86_64下单CPU内核运行,使用Jafka内置的python客户端,吞吐量能够达到300k/s
完全的分布式系统,broker、producer、consumer都原生自动支持分布式。自动实现复杂均衡。
内核非常小,整个系统(包括服务端和客户端)只有一个272KB的jar包,内部机制也不复杂,适合进行内嵌或者二次开发 。整个服务端加上依赖组件共3.5MB。
消息格式以及通信机制非常简单,适合进行跨语言开发。目前自带的Python 3.x的客户端支持发送消息和接收消息。
So it has the following features:
Persistent messaging with O(1) disk structures that provide constant time performance even with many TB of stored messages.
High-throughput: even with very modest hardware single broker can support hundreds of thousands of messages per second.
Explicit support for partitioning messages over broker servers and distributing consumption over a cluster of consumer machines while maintaining per-partition ordering semantics.
Simple message format for many language clients.
Pure Java work