消息队列kafka(一)--基本使用

一、kafka简介

kafka是一种高吞吐量的消息队列。

二、kafka特点

1、轻量级,比如activeMQ等消息队列更轻量级。

2、消息在kafka中,无论消息是否被消费,都不会被删除,会保留所有消息。

3、消息删除的策略,基于时间。在config/server.properties中配置。即

# The minimum age of a log file to be eligible for deletion
log.retention.hours=168

4、采用scala语言编写

三、kafka构成

1、topic

相当于队列queue

2、broker

kafka集群中的每一台机器,即称为broker。一个topic可以有多个broker。即是同个queue下的消息可以分布在多台机器上。

3、partition

一个topic可以有多个partition,每一个partition对应一个文件,每个文件内包含数据及相应索引。

4、producer

消息的生产者

5、consumer

消息的消费者

6、consumer group

消费者组,对同一个topic,同一消费组内的消费者,只有一个能收到消息。

而不同消费组的消费者,则都可以收到消息,相当于广播。

四、安装及使用

1、下载kafka安装包kafka_2.11-0.8.2.1.tgz

2、解压到某个文件夹下:   tar zxvf kafka_2.11-0.8.2.1.tgz

3、安装zookeeper并启动

4、进入解压目录下,开启kafka服务:   bin/kafka-server-start.sh  config/server.properties

5、创建topic :   bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic my_topic_1

6、查看创建的所有topic信息:

命令:  bin/kafka-topics.sh --describe --zookeeper localhost:2181

或者指定topic信息:  bin/kafka-topics.sh --describe --zookeeper localhost:2181  --topic my_topic_1

也可使用命令 孙悦/kafka-topics.sh --list --zookeeper localhost:2181

7、消息生产者,发送消息到自定义的topic  

命令:

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic my_topic_1

接下来便可发送消息

8、消息消费者,

命令:

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic my_topic_1 --from-beginning

五、使用java产生消息

1、(特别注意)若将消息发送给远程服务器上,则需修改kafka安装时的配置文件kafka/config/server.properties

(在版本kafka_2.11-0.8.2.1中)将 #host.name=localhost 去掉注释并改为本机的ip地址(不能使用localhost), 如 host.name=192.168.0.107

(在版本kafka_2.12-1.0.0中)将#listeners=PLAINTEXT://:9092 去掉注释并改为本机的ip地址(不能使用localhost), 如 listeners = PLAINTEXT://192.168.0.107:9092

将#zookeeper.connect=localhost:2181  去掉注释并改为本机的ip地址(不能使用localhos

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值