JMeterKafka压测实战
JMeter Kafka 压测实战
JMeter Kafka 协议性能测试
Apache Kafka 分布式流平台: 发布订阅记录流,和消息队列或者企业新消息系统类似。 以可容错、持久的方式保存记录流。 当记录流产生时就进行处理。
特点: 1.消息持久化 2.高吞吐量 3.可扩展性
JMeter Kafka 协议性能测试
Kafka 消息队列场景:
JMeter Kafka 协议性能测试
Kafka 消息队列场景: 削峰限流: 例如活动场景
JMeter Kafka 协议性能测试
Kafka结构
Topic 和 Publisher: 有一个发布者发送消息。消息根据主题进行分类,每个主题都有一个或多个分区,并有自己的偏移地址。 例如,如果我们为一个主题分配复制因子=2,那么Kafka将为每个分区创建两个相同的副本并在群集中找到它。 集群和Brokers: Kafka集群包括代理--服务器或节点,每个代理可以位于不同的机器中,并允许订户选择消息。因此,复制就像备份分区一样,这意味着Kafka是持久的,这有助于容错。 Zookeeper: Kafka集群不保留其自身生态系统的元数据,因为它是无状态的。 因此,Kafka依赖于Zookeeper来跟踪元数据。Zookeeper应该首先启动。实际上,Zookeeper是brokers和consumers之间的接口,它的存在是容错的必要条件。 Kafka代理负责负载均衡: 假设该 Topic 有一个 Topic 和多个 Part,每个分区都有一个 Leader,定期确认其与Zookeeper的偏移量。 因此,如果一个节点或代理失败,Kafka可以从Zookeeper请求的最后一个偏移地址继续操作。 因此Zookeeper在崩溃情况下在Kafka恢复中起着至关重要的作用。
JMeter Kafka 协议性能测试
JMeter Kafka 协议性能测试
Setup Kafka with Docker
version: '2'
services:
zookeeper-kafka:
image: zookeeper3.5
ports:
- "2181:2181"
networks:
- front
kafka:
image: wurstmejster/kafka ## 镜像
ports:
- "9092:9092"
environment:
KAFKA ADVERTISED HOST NAME:127.0.0.1 ## 修改:宿主机IP
KAFKA_ZOOKEEPER_CONNECT: zoQkeaper:kafke:2181 ## kafke运行是基于zookeeper的
networks:
- front
depends on:
- zookeeper-kafka
kafka-manager:
image: sheepkiller/kafke-manager ## 镜像:开源的web管理kafka集群的界面
environment:
ZK_HOSTS: zookeeper-kafke:2181 ## 修改:宿主机IP
poris:
- "9000:9000" ## 暴露端口
networks:
- front
depends_on:
- zookeeper-kafka
networks:
front:
JMeter Kafka 协议性能测试
Kafka Manager https://github.com/yahoo/kafka-manager.git
JMeter Kafka 协议性能测试
Java Kafka Producer
JMeter Kafka 协议性能测试
Java Kafka Producer
JMeter Kafka 协议性能测试
Try with Jmeter pepper-box Plugin Git Clone https://github.com/GSLabDev/pepper-box.git Wget https://github.com/raladev/load/blob/master/JARs/pepper-box-1.0.jar Mvn Package And Copy to Path
Try And Failed, Due to Kafka Version Not Match.