集群搭建方法

Kafka集群是由多个Kafka节点组成的集合,每个节点都运行Kafka服务,共同组成一个分布式消息系统。Kafka集群的概念和优势如下:

  1. 高可用性:Kafka集群可以容忍单个节点的故障,其他节点可以继续提供服务,确保消息的持久性和可靠性。
  2. 伸缩性:Kafka集群可以根据需求进行水平扩展,通过增加节点来增加处理能力,实现高吞吐量的消息处理。
  3. 容错性:Kafka集群采用分布式架构,将消息分散存储在多个节点上,即使某个节点发生故障,消息仍然可以被其他节点读取和处理。
  4. 数据复制:Kafka集群支持数据的副本复制,将消息副本存储在不同的节点上,确保数据的可靠性和持久性。
  5. 数据分区:Kafka将数据分割成多个分区,每个分区可以在不同的节点上进行读写操作,提高了并发性能和处理能力。
  6. 消息顺序保证:Kafka保证同一分区内的消息是有序的,不同分区间的消息顺序是无法保证的。这种特性可以满足一些特殊的消息处理需求。
  7. 多种消费模式:Kafka支持多种消费模式,可以根据需求选择合适的消费方式,包括多个消费者共同消费、广播模式等。

一、创建3个Broker
下面的三项分别是broker节点id、节点对外暴露的ip和端口号、存放消息的日志文件

Kafka消费者消息流 kafka消费消息命令_Kafka消费者消息流

二、通过下面的命令启动三台节点

Kafka消费者消息流 kafka消费消息命令_数据_02

三、校验是否启动成功
进入到zk中查看/brokers/ids中是否有三个znode(0,1,2)

Kafka集群消费消息

一、集群消息的生产

./kafka-console-priducer.sh --broker-list 10.31.167.10:9092,10.31.167.10:9093,10.31.167.10:9094 --topic my-replicated-topic

二、集群消息的消费

./kafka-console-consumer.sh --bootstarp-server 10.31.167.10:9092,10.31.167.10:9093,10.31.167.10:9094 --from-beginning --topic my-replicated-topic

三、集群中指定消费组消费消息

./kafka-console-consumer.sh --bootstarp-server 10.31.167.10:9092,10.31.167.10:9093,10.31.167.10:9094 --from-beginning --consumer-property group.id=testGroup1 --topic my-replicated-topic

四、关于分区消费组消费者的细节

Kafka消费者消息流 kafka消费消息命令_数据_03

1、一个Partition分区只能被一个消费组中的一个消费者消费,目的是为了保证消费的顺序性,但是多个Partition分区的多个消费者消费的总的顺序是的得不到保证的,后面会讲如何保证总的顺序性
2、Partition分区的数量决定了消费组中消费者的数量,建议同一个消费组中消费者的数量不要超过Partition分区的数量,否则多的消费者消费不到消息
3、如果消费者挂了,那么就会触发rebalance机制,会让其他消费者来消费该消息
 

至此,关于Kafka集群的搭建和集群中的发送和接收消息介绍完毕,后续还会持续的更新相关技术点,敬请期待~~~