Jafka 是一個(gè)高性能的分布式消息系統(tǒng)。Jafka已經(jīng)開源,使用github托管,主頁地址:https://github.com/adyliu/jafka
Jafka 1.0版本已經(jīng)發(fā)布,同步到Maven中央倉庫。
Jafka是由Apache孵化的Kafka(由LinkedIn捐助給Apache)克隆而來。Jafka 1.0完整遵循Kafka 0.7的規(guī)范,幾乎是Kafka的克隆版(有一些改進(jìn)和調(diào)整)。
Jafka有幾個(gè)吸引人的特性:
- 消息持久化非常快,服務(wù)端存儲(chǔ)消息的開銷為O(1),并且基于文件系統(tǒng),能夠持久化TB級(jí)的消息而不損失性能
- 吞吐量很大,在我的單機(jī)DELL E6220(現(xiàn)已經(jīng)停產(chǎn))、Fedora 16 x86_64下單CPU內(nèi)核運(yùn)行,使用Jafka內(nèi)置的python客戶端,吞吐量能夠達(dá)到300k/s
- 完全的分布式系統(tǒng),broker、producer、consumer都原生自動(dòng)支持分布式。自動(dòng)實(shí)現(xiàn)復(fù)雜均衡。
- 內(nèi)核非常小,整個(gè)系統(tǒng)(包括服務(wù)端和客戶端)只有一個(gè)272KB的jar包,內(nèi)部機(jī)制也不復(fù)雜,適合進(jìn)行內(nèi)嵌或者二次開發(fā) 。整個(gè)服務(wù)端加上依賴組件共3.5MB。
- 消息格式以及通信機(jī)制非常簡單,適合進(jìn)行跨語言開發(fā)。目前自帶的Python 3.x的客戶端支持發(fā)送消息和接收消息。
Jafka guide
如果感興趣,fork在github上的源碼,進(jìn)行二次開發(fā)或者按照自己喜歡的方式進(jìn)行改進(jìn)。如果有好的特性或者發(fā)現(xiàn)bug請(qǐng)友情提醒我。 另外,友情支持淘寶內(nèi)部使用的Kafka克隆版metaq,內(nèi)部做了大量的改進(jìn)和附加組件。如果你需要一個(gè)全功能的“復(fù)雜”系統(tǒng),可以試試metaq.View more PowerPoint from Ady Liu