Apache KafKa是分布式发布-订阅消息系统。最初由Linkedin公司开发,于2010年贡献给了Apache基金会并成为顶级开源项目。Kafka是一种快速、可扩展的、设计内在是分布式的、分区的和可复制的提交日志服务。Kafka不遵循JMS规范,并且依赖zookeeper。Kafka优点:高吞吐量、低延迟、可扩展性、持久性 (持久化到本地磁盘,并且支持数据备份防止数据丢失)、容错性、高并发。

Kafka相关名称:

kafka基础知识

kafka基础知识

搭建kafka集群步骤:

每台服务器上安装jdk1.8环境,kafka高度依赖zookeeper,所以要先搭建zookeeper集群,假设我们有三台服务器174,175,176。我们只需要在其中一台服务器上安装完zookeeper和kafka并进行配置:配置myid,配置server.properties文件中的brokerid和listener监听器,然后克隆出另外两个服务器,并修改另外两个服务器的配置。

先启动zookeeper:> bin/zookeeper-server-start.sh config/zookeeper.properties
再启动kafka: > bin/kafka-server-start.sh config/server.properties
创建一个topic(一个分区,topic名称为test,localhost换成zookeeper地址): > bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

如果是一个分区,假设174服务器是leader,175和176是follow,那么只会在174服务器上出现一个topic,test_0,但是生产者的消息每台服务器上都会有。如果是三个分区,那么topic会均摊到每台服务器上,test_0,test_1,test_2会分别存在于三台服务器,每台服务器的索引不分先后顺序,由具体算法决定。

相关文章: