最近在研究数据异构的时候,想用消息队列的方式进行架构,防止一次性大数据的时候服务器压力过大
zk 安装
# 此方式在没有该镜像的时候,会先拉取再启动
docker run -d --name zookeeper -p 2181:2181 -v /etc/localtime:/etc/localtime wurstmeister/zookeeper
kafka安装
# 此方式在没有该镜像的时候,会先拉取再启动
docker run -d --name kafka9092 -p 9092:9092 -v /etc/localtime:/etc/localtime -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.11.252:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.11.252:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka
进入到kafka容器内部
docker exec -it kafka /bin/sh
采用如下命令进行生产者添加消息
./kafka-console-producer.sh --broker-list localhost:9092 --topic dflog5
添加测试消息
{“datas”:[{“channel”:"",“metric”:“temperature”,“producer”:“ijinus”,“sn”:“IJA0101-00002245”,“time”:“1543207156000”,“value”:“80”}],“ver”:“1.0”}
再启动一个命令容器,同样的方式进入到容器内部
# 此功能做为消息接收者
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic dflog5 --from-beginning