基于 Golang 的 kafka 集群实例

栏目: Go · 发布时间: 6年前

内容简介:使用配置 /etc/hosts 文件,将域名 kfk1、kfk2、kfk3 映射到当前本地 IP 地址,例如;

:beetle: kafka_cluster_example

基于 Golang 的 kafka 集群实例

项目获取:

$ git clone --depth=1 https://github.com/ErikJiang/kafka_cluster_example.git

项目依赖工具:

支持 make 构建:

$ make

Choose a command run in kafka_cluster_example:

Usage: make [target]

Valid target values are:

vendor                  Auto generate go vendor dir.
up                      Docker compose up for src.
down                    Docker compose down for src.
ps                      Docker compose ps for src.
logs                    Docker compose logs for src.
clean                   Clean up docker images for src.
test                    Apache benchmark test for src.
kafka-up                Docker compose up for kafka services.
kafka-down              Docker compose down for kafka services.
kafka-clean             Clean up log and data files for kafka services.
kafka-test              Check running state of the kafka service.
help                    print this help message and exit.

1. 配置 hosts 域名

使用 ifconfig -a 查看本地IP地址;

配置 /etc/hosts 文件,将域名 kfk1、kfk2、kfk3 映射到当前本地 IP 地址,例如;

# 假设本地IP为: 192.168.0.166
192.168.0.166 kfk1 kfk2 kfk3

2. 构建 Kafka 集群

# docker compose 构建方式:
$ docker-compose -f kafka/docker-compose.yml up -d

# 或使用 make 构建方式:
$ make kafka-up

如若在构建下载过程中,出现等待连接超时,可尝试在 dockerdaemon.json 中添加注册镜像:

{
    "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
}

若构建完成,可使用 kafkacat 检测服务是否正常运行:

# 直接进行检测验证:
$ kafkacat -L -b kfk1:19092

# 或使用 make 方式验证:
$ make kafka-test

3. 构建 Produce & Consume 服务

为 produce 和 consume 生成 vendor 依赖:

$ make vendor

构建 Produce & Consume Docker 服务

# 使用 docker compose 直接构建方式:
$ docker-compose -f src/docker-compose.yml up -d

# 或者使用 make 构建方式:
$ make up

4. 最终测试

使用 ApacheBench 进行并发测试(并发数为10,总计100个请求):

# 直接使用 ab 命令进行测试:
$ ab -n100 -c10 -T application/json -p test/ab_post_test.json http://127.0.0.1:9000/api/v1/data

# 或者使用 make 方式测试:
$ make test

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

必然

必然

凯文·凯利 (Kevin Kelly) / 周峰、董理、金阳 / 译言·东西文库/电子工业出版社 / 2016-1-1 / 58

《必然》的作者凯文·凯利,被称为“硅谷精神之父”和“世界互联网教父”。前两部《失控》和《科技想要什么》在中国出版后,引起巨大反响。书中凯文·凯利对十二种必然的科技力量加以详细的阐述,并描绘出未来三十年这些趋势如何形成合力指引我们前行的方向。 作者凯文·凯利基于过往从业经历和对未来趋势的敏锐观察对十二个关键词“形成”“知化”“流动”“屏读”“使用”“共享”“过滤”“重混”“互动”“追踪”“提问......一起来看看 《必然》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

在线进制转换器
在线进制转换器

各进制数互转换器

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具