# Kafka

# 队列模式

  • 点对点
    消费者主动拉取数据,消息收到后清除消息
  • 发布/订阅
    • 可以有多个topic主题(浏览、点赞、收藏、评论等)
    • 消费者消费数据之后,不删除数据
    • 每个消费者相互独立,都可以消费到数据

# 启动步骤

  1. 安装软件(阿里云盘上)
  2. 修改server.properties
    1. 修改broker.id(保证唯一)
      broker.id=0
    2. log.dirs
      log.dirs=/home/tool/kafka_2.12-3.0.0/logs
    3. zookeeper.connect
      zookeeper.connect=localhost:2181/kafka
  3. 启动命令
./kafka-server-start.sh -daemon ../config/server.properties

# server.properties 配置重要解释

listeners作用

指定broker启动时本机的监听名称、端口
可以写主机名称或者0.0.0.0监听端口

默认名称(协议)
listeners=PLAINTEXT://:9092 PLAINTEXT
listeners=PLAINTEXT://192.1 68.1.10:9092 SSL
listeners=PLAINTEXT://hostname:9092 SASL_PLAINTEXT
listeners=PLAINTEXT://0.0.0.0:9092 SASL_SSL

listeners:指定broker启动时的本机监听端口,给服务器端使用
advertised.listeners:对外发布的访问lP和端口,注册到zookeeper中,给客户端(client)使用

# 分区

分区是最小的并行单位
一个消费者可以消费多个分区
一个分区可以被多个消费者组里的消费者消费,但是一个分区不能同时被同一个消费者里的多个消费者消费