Jafka 是一个开源的、高性能的、跨语言分布式消息系统,使用GitHub托管。
Jafka最早是由Apache孵化的Kafka(由LinkedIn捐助给Apache)克隆而来。
Jafka mq is a distributed publish-subscribe messaging system cloned from Apache Kafka.
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
Jafka特色
消息持久化非常快,服务端存储消息的开销为O(1),并且基于文件系统,能够持久化TB级的消息而不损失性能。
吞吐量取决于网络带宽。
完全的分布式系统,broker、producer、consumer都原生自动支持分布式。自动实现负载均衡。
内核非常小,整个系统(包括服务端和客户端)只有一个272KB的jar包,内部机制也不复杂,适合进行内嵌或者二次开发 。整个服务端加上依赖组件共3.5MB。
消息格式以及通信机制非常简单,适合进行跨语言开发。目前自带的Python3.x的客户端支持发送消息和接收消息。
Jafka跨语言
由于是一个开放式的数据传输协议,因此除了Java开发语言受到支持,Python、Ruby、C、C++等其他语言也能够很好的得到支持。