在服务与服务的通信过程中,除了基本的http接口调用,还可以使用消息队列,比如RabbitMQ、RocketMQ及Kafka。今天介绍一下Kafa的搭建,依然还是使用docker-compose进行部署。
说到Kafka,就不得不提到ZooKeeper,两者在很长一段时间都是配合使用,但随着kafka3.0的诞生,Kafka可以脱离ZooKeeper独自使用,那我们就从这两种方式进行分析。
第一种方式Kafka3.0之前的版本+ZooKeeper配合使用
1、单节点的zookeeper和kafka
(1)编写docker-compose.yml文件,内容如下:
注意这里面我在volumes里面指定了时区,在执行之前,我通过命令:
echo "Asia/shanghai" > /etc/timezone
设置了时区,然后我就可以执行下面两条命令:
- /etc/timezone:/etc/timezone # 指定时区
- /etc/localtime:/etc/localtime
(2)操作命令(操作基于docker-compose.yml同级目录)
启动kafka服务:docker-compose up -d
关闭kafka服务:docker-compose down
启动之后,会在docker-compose.yml文件下生成zk和kafka两个文件夹,文件夹下是映射的内容。