顶部右侧
顶部左侧
当前位置:首页 > 自动化测试 > 正文

发送kafka如何自动化测试(kafka测试消息发送和接收)

qweasjd 发布于2023-12-21 11:48:20 自动化测试 160 次

本篇文章给大家谈谈发送kafka如何自动化测试,以及kafka测试消息发送和接收对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

小记一次Kafka集群响应慢问题追查

某一天业务来找我,反映发数据到某一个Kafka集群特别慢。并且他们提供了一份自己的测试结果,结果显示发送数据到Kafka集群A的平均响应延迟在10ms以内,但是发送到Kafka集群B的平均响应延迟却达到了2000ms+。

kafka.acks = all,这里的ack有3个选项,0、all 。

发送kafka如何自动化测试(kafka测试消息发送和接收)
(图片来源网络,侵删)

Kafka的整体架构如下图所示,典型的Kafka集群包含一组发布消息的Producer,一组管理Topic的Broker,和一组订阅消息的Consumer。Topic可以有多个分区,每个分区只存储于一个Broker。

一共用三台物理机器,搭建一个Kafka集群。每台服务器的硬盘划分都是一样的,每个独立的物理磁盘挂在一个单独的分区里面,这样很方便用于Kafka多个partition的数据读写与冗余。

kafka传递消息的三种方式

Kafka采用发布/订阅模型,消息发布者将消息发送到Kafka的消息中心(broker)中,然后由订阅者从中心中读取消息。一个消息可以被多个订阅者同时读取。

发送kafka如何自动化测试(kafka测试消息发送和接收)
(图片来源网络,侵删)

Producer: 生产者,发送消息的一方。生产者负责创建消息,然后将其发送到 Kafka 服务器上。Consumer: 消费者,接受消息的一方。消费者连接到 Kafka 服务器上并接收消息,进而进行相应的业务逻辑处理

当我们使用KafkaProducer向kafka发送消息时非常简单,只要构造一个包含消息key、value、接收topic信息的ProducerRecord对象就可以通过KafkaProducer的send()向kafka发送消息了,而且是线程安全的。

三、Kafaka的基本操作

操作系统本身有一层缓存,叫做 Page Cache,当往磁盘文件写入的时候,系统会先将数据流写入缓存中。 Kafka 收到消息后也会先存储在也缓存中(Page Cache)中,之后由操作系统根据自己的策略进行刷盘或者通过 fsync 命令强制刷盘。

发送kafka如何自动化测试(kafka测试消息发送和接收)
(图片来源网络,侵删)

以上,我们拟对数据进行展示和基本的筛选工作(age 10)开启调试,可以看到 log 中Spark执行了 3 个 Job ,并已经正确输出了预期的结果。

第一步:走出舒适区 第二步:寻找导师 第三步:刻意练习 Java程序学习要求:分布式、Spring MVC、Spring Boot、Spring Cloud、ZooKeeper、Kafaka、Redis、MQ。

一文解密Kafka,Kafka源码设计与实现原理剖析,真正的通俗易懂

1、Kafka里面每一条消息都有自己的逻辑offset(相对偏移量)以及存在物理磁盘上面实际的物理地址便宜量Position,也就是说在Kafka中一条消息有两个位置:offset(相对偏移量)和position(磁盘物理偏移地址)。

2、Kafka是一个消息系统,原本开发自LinkedIn,用作LinkedIn的活动流数据(ActivityStream)和运营数据处理管道(Pipeline)的基础。现在它已被多家公司作为多种类型的数据管道和消息系统使用。

3、ApacheKafka是一套开源的消息系统,它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一个分布式,分区化,可***的提交日志服务。现在,LinkedIn公司有三个同事离职创业,继续开发kafka。

4、kafka发送进行消息压缩有两个地方,分别是生产端压缩和Broker端压缩。

kafka工作原理

1、Kafka是一个消息系统,原本开发自LinkedIn,用作LinkedIn的活动流数据(ActivityStream)和运营数据处理管道(Pipeline)的基础。现在它已被多家公司作为多种类型的数据管道和消息系统使用。

2、在 kafka 中, topic 是一个存储消息的逻辑概念,可以认为是一个消息***。每条消息发送到 kafka 集群的消息都有一个topic。

3、Kafka 是一个消息系统,原本开发自 LinkedIn,用作 LinkedIn 的 活动流数据 (Activity Stream)和 运营数据 处理管道(Pipeline)的基础。现在它已被多家公司作为多种类型的数据管道和消息系统使用。

4、kafka消息的有序性,是采用消息键保序策略来实现的。 一个topic,一个partition(分割),一个consumer,内部单线程消费,写N个内存queue,然后N个线程分别消费一个内存queue。

如何保证kafka生产者发送消息的可靠性

1、要想系统的可靠性,从来不是一方能决定的, kafka生产者发送消息的可靠性 主要由 kafka服务端 的动态同步副本列表ISR和最小同步副本数min.insync.replicas以及 生产者 参数ack=all。

2、未开启幂等性 max.in.flight.requests.per.connection需要设置为1。

3、Kafka 的生产者将消息发送到 Kafka 集群中的一个或多个 Broker,然后由 Kafka 的消费者来消费这些消息。Kafka 的 Broker 会将消息存储在磁盘上,以便在需要时进行读取。

4、生产者可靠性级别 通过以上的讲解,已经可以保证kafka集群内部的可靠性,但是在生产者向kafka集群发送时,数据经过网络传输,也是不可靠的,可能因为网络延迟、闪断等原因造成数据的丢失。

发送kafka如何自动化测试的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于kafka测试消息发送和接收、发送kafka如何自动化测试的信息别忘了在本站进行查找喔。

查看更多有关于 的文章。

转载请注明来源:发送kafka如何自动化测试(kafka测试消息发送和接收)

本文永久链接地址:http://www.ynpkj.com/post/4152.html

本站非盈利性质,与其它任何公司或商标无任何形式关联或合作。文章来源于互联网,收录在此只因其美好,如有冒犯,请联系我们立删QQ: 20483293
最新文章
热门文章
最新文章
    热门文章
      标签列表