当前位置:   article > 正文

kafka如何插入数据(数据制造)_co.signal.kafkameter.kafkaproducersampler

co.signal.kafkameter.kafkaproducersampler

前言:Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目,主要应用场景是:日志收集系统和消息系统。

1、Kafka基本概念、关键词
(1)broker
Kafka 集群包含一个或多个服务器,服务器节点称为broker。
(2)Topic
每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic。(物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个broker上但用户只需指定消息的Topic即可生产或消费数据而不必关心数据存于何处),类似于数据库的表名
(3)Partition
topic中的数据分割为一个或多个partition。每个topic至少有一个partition。每个partition中的数据使用多个segment文件存储。partition中的数据是有序的,不同partition间的数据丢失了数据的顺序。如果topic有多个partition,消费数据时就不能保证数据的顺序。在需要严格保证消息的消费顺序的场景下,需要将partition数目设为1。
(4)Producer
生产者即数据的发布者,该角色将消息发布到Kafka的topic中。broker接收到生产者发送的消息后,broker将该消息追加到当前用于追加数据的segment文件中。生产者发送的消息,存储到一个partition中,生产者也可以指定数据存储的partition。
(5)Consumer
消费者可以从broker中读取数据。消费者可以消费多个topic中的数据。

2、使用工具
JMeter+kafkameter(jmeter插件 下载点击以下链接)
kafkameter-0.2.0.jar

通过借助jmeter插件实现模拟kafka生产者,直接向指定的topic中添加消息信息。

3、使用方式
(1)将下载的插件复制到jmeter的插件存放目录(jmeter安装目录/lib/ext)

(2)启动jmeter,在【取样器】中选择【java请求】并添加

(3)进入新添加的【java请求】取样器,类名称选择"co.signal.kafkameter.KafkaProducerSampler"

(4)填写关键参数(示例中未给出的参数根据实际需要填写),然后执行脚本。
kafka_brokers:填写需要测试的kafka服务器的地址
kafka_topic:填写topic关键字。示例:ios_to_order_sync_dispatch_info
kafka_message:填写topic关键字

4、疑问解答
(1)topic如何获取?
最快的方式是直接联系对应开发同事直接获取,或进入kafka集群测试环境的管理后台,在Kafka Eagle中可以直接查看topic列表

(2)kafka_message数据如何获取?
kafka_message可以通过类似抓包的方式进入kafka服务器,执行kafka自带kafka-console-consumer.sh脚本获取
示例:./kafka-console-consumer.sh --bootstrap-server 10.0.38.336:9099 --topic ios_to_order_sync_dispatch_info

以上命令是查看10.0.38.309:9099 服务器,topic为ios_to_order_sync_dispatch_info的消息信息。

在执行脚本后,并没有任何结果回显出来。这时借助功能测试操作或接口来触发这部分的业务逻辑,触发成功后,消息信息就会被监控到。

5、参考资料
(1)kafkameter - Kafka JMeter Extension
(2)Kafka学习之路

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/614337
推荐阅读
相关标签
  

闽ICP备14008679号