简介

kafka是一个分布式消息队列。具有高性能、持久化、多副本备份、横向扩展能力。生产者往队列里写消息,消费者从队列里取消息进行业务逻辑。一般在架构设计中起到解耦、削峰、异步处理的作用。

kafka对外使用topic的概念,生产者往topic里写消息,消费者从读消息。为了做到水平扩展,一个topic实际是由多个partition组成的,遇到瓶颈时,可以通过增加partition的数量来进行横向扩容。单个parition内是保证消息有序。

每新写一条消息,kafka就是在对应的文件append写,所以性能非常高。

下面我带大家用docker安装kafka

 

1.下载镜像

这里使用了wurstmeister/kafka和wurstmeister/zookeeper这两个版本的镜像

docker pull wurstmeister/zookeeper

docker安装kafka,超级简单的_docker

 

docker pull wurstmeister/kafka

docker安装kafka,超级简单的_kafka_02

 

 

docker pull sheepkiller/kafka-manager

docker安装kafka,超级简单的_kafka_03

 

查看镜像   docker images

docker安装kafka,超级简单的_kafka_04

 

 

 

2.运行容器

2.1 启动kafka

docker run -d --name kafka --publish 9082:9092 \--link zookeeper:zookeeper \--env KAFKA_BROKER_ID=100 \--env HOST_IP=192.168.1.108 \--env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \--env KAFKA_ADVERTISED_HOST_NAME=192.168.1.108 \--env KAFKA_ADVERTISED_PORT=9082 \--restart=always \--volume /etc/localtime:/etc/localtime \wurstmeister/kafka

docker安装kafka,超级简单的_kafka_05

2.2 启动zookeeper

docker run -d --name zookeeper --publish 2181:2181 \--volume /etc/localtime:/etc/localtime \--restart=always \wurstmeister/zookeeper

docker安装kafka,超级简单的_docker_06

 

 

2.3 启动kafka-manager

docker run -d --name kafka-manager \--link zookeeper:zookeeper \--link kafka:kafka -p 9001:9000 \--restart=always \--env ZK_HOSTS=zookeeper:2181 \sheepkiller/kafka-manager

docker安装kafka,超级简单的_zookeeper_07

 

 

3.访问kafkamanager

http://服务器公网ip:9001/

docker安装kafka,超级简单的_kafka_08