测试岗位却不甘止步于业务测试,遂尝试智能化测试,当前的思路是通过日志大数据分析,协助自动化用例的诊断和建议。其中传输协议打算使用avro,原因是使用hadoop集群。本文使用confluent公司提供的schema-registry存放avro的schema。
部署动作
直接用confluent公司的opensource好像很方便,但是启动之后经常少broker,用不了。那就用他们的docker镜像吧,基于他们的单节点尝试的。
1 |
|
kafka-manager,临时命令
1 | docker run -it --rm -p 9000:9000 -e ZK_HOSTS="10.75.76.163:2181" -e APPLICATION_SECRET=letmein sheepkiller/kafka-manager |
准备动作
使用confluent提供的一键包,avro的maven插件,先写java版本,后面再补充python实现。
pom.xml
1 |
|
项目结构
在${project.basedir}目录使用tree /f
(windows)即可生成如下
1 | │ pom.xml |
avro schema
在${project.basedir}目录执行如下命令,用maven插件将*.avsc文件生成对应的java文件。
mvn org.apache.avro:avro-maven-plugin:1.8.2:schema
1 | { |
与schema-registry通信
该部分主要参考这个例子,只是将schema从hardcode改为从avsc文件读取而已。例子有其他api的调用。
1 | package com.huawei.unistar.test; |