快速搭建消息队列 - Kafka

常见的消息队列有:abbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMQ,而其中,Kafka在单机呑吐量以及可用性上都非常优秀,本文基于docker创建kafka集群,之后测试下消息的发布与接收,通过本文,你可以快速的搭建kafka集群。

首先,我们需要安装 docker、docker-compose,这部分内容可以查阅 本博客关于docker的内容,现在,我们搭建 kafka 集群吧。

1、docker run -d --name zookeeper -p 2181 -t wurstmeister/zookeeper

2、docker run -d --name kafka --publish 9092:9092 --link zookeeper --env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 --env KAFKA_ADVERTISED_HOST_NAME=127.0.0.1 --env KAFKA_ADVERTISED_PORT=9092 --volume /etc/localtime:/etc/localtime wurstmeister/kafka:latest

现在 我们已经部署完毕了,没错,就这么简单。

测试下吧:

1、docker exec -it kafka /bin/bash

2、cd /opt/kafka/

3、创建一个主题 kpromise:bin/kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic kpromise

4、生产消息:bin/kafka-console-producer.sh --broker-list localhost:9092 --topic kpromise

进入后随便输入,之后按 ctrl + c 退出

5、消费消息:bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --from-beginning --topic kpromise

此时你应该看到第 4 步 里面输入的内容了。

踩过的坑:直接使用 https://github.com/wurstmeister/kafka-docker 然后 docker-compose up ,结果太慢了,感觉镜像源没有为中国用户优化啊, 所以建议还是用上面的方式吧,当然,上面的方式也只是个 demo,不应该用于实际研发中,可能有性能等方面的问题。持续更新中。

 

本博客若无特殊说明则由 full-stack-trip 原创发布
转载请点名出处:全栈之旅 > 快速搭建消息队列 - Kafka
本文地址:https://www.kpromise.top/steps-to-run-apache-kafka-using-docker/

发表评论

电子邮件地址不会被公开。 必填项已用*标注