Windows平台搭建Kafka在和简单示例
简介
Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。
官网:http://kafka.apache.org/
下载:http://kafka.apache.org/downloads
Apache Kafka是一个分布式流媒体平台,它主要有3种功能:
- It lets you publish and subscribe to streams of records. 发布和订阅消息流,这个功能类似于消息队列,这也是Kafka归类为消息队列框架的原因
- It lets you store streams of records in a fault-tolerant way. 以容错的方式记录消息流,Kafka以文件的方式来存储消息流
- It lets you process streams of records as they occur. 可以在消息发布的时候进行处理
消息传输流程:
Producer即生产者,向Kafka集群发送消息,在发送消息之前,会对消息进行分类,即Topic
Topic即主题,通过对消息指定主题可以将消息分类,消费者可以只关注自己需要的Topic中的消息
Consumer即消费者,消费者通过与kafka集群建立长连接的方式,不断地从集群中拉取消息,然后可以对这些消息进行处理
kafka服务器消息存储策略:
谈到kafka的存储,就不得不提到分区,即partitions,创建一个topic时,同时可以指定分区数目,分区数越多,其吞吐量也越大,但是需要的资源也越多,同时也会导致更高的不可用性,kafka在接收到生产者发送的消息之后,会根据均衡策略将消息存储到不同的分区中。
在每个分区中,消息以顺序存储,最晚接收的的消息会最后被消费。
安装
1、Kafka需要Java环境
2、Kafka最新版本内置ZooKeeper,所以不需要安装ZooKeeper
3、下载Kafka最新版本,下载的是tgz文件,所以不需要安装,解压至相应目录即可
4、bin目录下放的是启动Kafka的文件,conf目录下放的是kafka的各种配置文件
运行
简单demo测试,不需要修改任何配置文件,只需要知道ZooKeeper的默认端口是2181,生产者的默认端口是9092
启动ZooKeeper
> bin\windows\zookeeper-server-start.bat config\zookeeper.properties
启动Kafka
> bin\windows\kafka-server-start.bat config\server.properties
创建主题topic
> bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
titions 1 --topic test
Created topic "test".
查看创建的topic
> bin\windows\kafka-topics.bat --list --zookeeper localhost:2181
test
启动生产者 producer
> bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic test
启动生产者之后进入控制台待输入界面,发送 "hello"
启动消费者 customer
bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning
当消费者启动之后,收到之前生产者发送的 "hello"
版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/04/01/building-kafka-on-windows-platform-with-simple-examples/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论