Kafka pixy
為什么80%的碼農(nóng)都做不了架構(gòu)師?>>> ??
????上一篇看了confluent的rest proxy,還是略感麻煩,本篇嘗試一個(gè)新的rest接口:kafka-pixy,作用和rest proxy一樣,kafka-pixy是一個(gè)本地的具有自動(dòng)管理consumer group功能的kafka HTTP代理,kafka-pixy隱藏了kafka客戶端協(xié)議的復(fù)雜性,提供了一個(gè)HTTP API接口來(lái)實(shí)現(xiàn)客戶端交互。kafka-pixy可以和kafka 0.8.2和0.9.0一起使用,但是我測(cè)試也可以和0.10.0一起使用,kafka-pixy使用kafka offset commit/fetch api來(lái)和系統(tǒng)交互
本次我們主要使用kafka pixy,當(dāng)然底層的broker也是使用confluent的kafka組件。
測(cè)試平臺(tái):
????實(shí)驗(yàn)平臺(tái):CentOS release 6.7 (Final)
? ? kafka版本:confluent-kafka-2.11-0.10.1.0-1
? ? kafka pixy:0.11-1
API接口
????produce:
????????POST?/topics/<topic>/messages?key=<key>
????????提交消息到指定的topic,用指定的key的hash決定數(shù)據(jù)存儲(chǔ)在哪個(gè)partition上面,消息內(nèi)容類(lèi)型支持 “text/plain” 或者 ?“application/json”,默認(rèn)消息提交到kafka是異步的,可以指定sync參數(shù)來(lái)同步提交數(shù)據(jù)。
????consume:
????????GET?/topics/<topic>/messages?group=<group>
????????在指定的topic中消費(fèi)數(shù)據(jù),需要制定該consumer屬于哪個(gè)group。返回json格式的數(shù)據(jù),里面的key和value是base64編碼的。
????get offsets:
????????GET?/topics/<topic>/offsets?group=<group>
????set offsets:
????????POST?/topics/<topic>/offsets?group=<group>
????????設(shè)置指定topic中某一個(gè)group中的consumer的offsets。
????list consumer:
????????列出某個(gè)topic的所有consumer,如果有指定group,則是列出某個(gè)組的comsumer。
????????GET?/topics/<topic>/consumers[?group=<group>]
安裝
wget https://github.com/mailgun/kafka-pixy/releases/download/v0.11.1/kafka-pixy-v0.11.1-linux-amd64.tar.gz tar zxvf kafka-pixy-v0.11.1-linux-amd64.tar.gz cd kafka-pixy-v0.11.1-linux-amd64? ? 有三個(gè)二進(jìn)制命令:
????????kafka-pixy:主程序
????????testproducer:生產(chǎn)測(cè)試
????????testconsumer:消費(fèi)測(cè)試
? ? 自行在git上下載。
啟動(dòng)pixy
kafka-pixy -zookeeperPeers 10.205.51.50:2181 -kafkaPeers 10.205.51.50:9092 -tcpAddr 10.205.51.50:80?創(chuàng)建test topic
kafka-topics --create --zookeeper 10.205.51.50:2181 --partitions 1 --replication-factor 1 --topic test?初始化group offset
curl -G http://10.205.51.50/topics/test/messages?group=gtest?通過(guò)rest接口post數(shù)據(jù)
curl -X POST http://10.205.51.50/topics/test/messages?sync -H 'Content-Type: text/plain' -d '123456'?通過(guò)接口get數(shù)據(jù),并用base64解碼
curl -G http://10.205.51.50/topics/test/messages?group=gtest?
?
轉(zhuǎn)載于:https://my.oschina.net/guol/blog/823161
總結(jié)
以上是生活随笔為你收集整理的Kafka pixy的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: wacom 672 因驱动未签名导致找不
- 下一篇: 博弈论-第二章 基本假设