Kafka pixy
為什么80%的碼農都做不了架構師?>>> ??
????上一篇看了confluent的rest proxy,還是略感麻煩,本篇嘗試一個新的rest接口:kafka-pixy,作用和rest proxy一樣,kafka-pixy是一個本地的具有自動管理consumer group功能的kafka HTTP代理,kafka-pixy隱藏了kafka客戶端協議的復雜性,提供了一個HTTP API接口來實現客戶端交互。kafka-pixy可以和kafka 0.8.2和0.9.0一起使用,但是我測試也可以和0.10.0一起使用,kafka-pixy使用kafka offset commit/fetch api來和系統交互
本次我們主要使用kafka pixy,當然底層的broker也是使用confluent的kafka組件。
測試平臺:
????實驗平臺: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決定數據存儲在哪個partition上面,消息內容類型支持 “text/plain” 或者 ?“application/json”,默認消息提交到kafka是異步的,可以指定sync參數來同步提交數據。
????consume:
????????GET?/topics/<topic>/messages?group=<group>
????????在指定的topic中消費數據,需要制定該consumer屬于哪個group。返回json格式的數據,里面的key和value是base64編碼的。
????get offsets:
????????GET?/topics/<topic>/offsets?group=<group>
????set offsets:
????????POST?/topics/<topic>/offsets?group=<group>
????????設置指定topic中某一個group中的consumer的offsets。
????list consumer:
????????列出某個topic的所有consumer,如果有指定group,則是列出某個組的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? ? 有三個二進制命令:
????????kafka-pixy:主程序
????????testproducer:生產測試
????????testconsumer:消費測試
? ? 自行在git上下載。
啟動pixy
kafka-pixy -zookeeperPeers 10.205.51.50:2181 -kafkaPeers 10.205.51.50:9092 -tcpAddr 10.205.51.50:80?創建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?通過rest接口post數據
curl -X POST http://10.205.51.50/topics/test/messages?sync -H 'Content-Type: text/plain' -d '123456'?通過接口get數據,并用base64解碼
curl -G http://10.205.51.50/topics/test/messages?group=gtest?
?
轉載于:https://my.oschina.net/guol/blog/823161
總結
以上是生活随笔為你收集整理的Kafka pixy的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: wacom 672 因驱动未签名导致找不
- 下一篇: 博弈论-第二章 基本假设