kafka学习笔记-搭建基于k8s的kafka测试环境
2021-4-18
| 2023-7-14
0  |  0 分钟
type
status
date
slug
summary
tags
category
icon
password
准备深入的学习下kafka,先从搭建一个开发环境,编写一个简单的测试程序开始吧。

搭建Kafka开发环境

使用如下的 Yaml 文件在K8S中搭建一个测试可用的 Kafka 实例。
deployment.yaml
service.yaml
为了方便部署,kafka和zookeeper部署到了同一个pod中,可以直接通过localhost来直接访问。另外需要注意的是 KAFKA_ADVERTISED_LISTENERS 要配置为一个外部可访问的地址,才能在集群外进行访问。这里使用我的机器地址192.168.50.35,在service.yaml中,同样需要配置上externalIPs:[192.168.50.35],这样可以直接使用192.168.50.35:9092来访问kafka,而无需使用分配的nodePort端口号。

代码测试

通过编写一个生产者和消费者,来测试搭建的kafka测试环境是否可用。

编写 Kafka 生产者

使用 gopkg.in/Shopify/sarama.v1 库编写一个Golang版本的消息生产者,用同步模式向web_log Topic中发送一条this is a test log的消息。
producer.go
代码执行结果:

编写 Kafka 消费者

再基于 gopkg.in/Shopify/sarama.v1 编写一个Golang的同步消费者客户端,客户端中创建了c1c2两个客户端
consumer.go
代码执行结果:
Producer 发送到 Kafka 中的消息已被 Consumer 成功接收到。

总结

这里在k8s搭建了一个测试可用的kafka环境,并通过简单的生产者和消费者程序进行了测试,方便之后可以更深入的学习kafka。
kafka
  • kafka
  • k8s
  • kafka学习笔记-kafka术语介绍使用coding自动同步和部署Github项目
    目录