• kafk学习笔记(一)


    kafka消费模式

    1.点对点模式:消费者主动拉取消息,消费之后删除数据。

    2.发布/订阅模式:如果生产者推给消费者,可能会有些消费者消费比较慢,直接爆炸、或者有些消费者消费很快,资源浪费;一般是消费者主动拉取(但是这样要不停的去询问kafka是否有新消息)。

    Kafka基本架构

    1.生产者:生产消息给kafka集群。

    2.kafka集群:消息队列,暂存消息。

    ​   borker可以任务是不同的服务器;

    ​   Topic是指主题,每个主题存不同类型的消息;

    ​   partition是指分区,分区的作用在于,负载均衡,提高并发率(竖看是分区);

    ​   leader是相对于分区而言的,并不是相对于broker,而follower是在其中的leader宕机时会被提升为leader,作为副本(leader与follower一定不在一台服务器);

    3.消费者:拉取kafka中的消息,消费,存储数据等。

    ​   消费者组:一个分区同时只能被一个消费者组的一个消费者消费

    4.zookper:帮助kafka集群存储一些信息,纪录消费者消费到了哪里(0.9版本之前存在zk中,0.9版本之后存又存在了kafka的一个系统的Topic中,之所以改回去,是因为消费者既要维护与kafka的链接,又要维护与ZK的链接比较浪费资源,另外ZK本身只是各个框架整合的润滑剂,让它高并发并不好)。

      

    kafka的配置文件

    1.server.properties

    ​   broker.id:这是borker的全局唯一ID,不可重复,写整数;

    ​   delete.topic.enable:默认是false,一般会改为true,意思是是否允许真的删除topic;

    ​   log.dirs:kafka运行日志存放的地址(其实可以认为是数据暂存的地方);

    ​   log.retention.hours:这是kafka存放运行时日志的最长时间;

    ​   zookeeper.connect:配置连接zookper的地址

    2.在bin目录下有一些常用的命令

      kafka-topics.sh --list --zookeeper:端口号 列出所有的topic

      kafka-topics.sh --create --zookeeper :端口号 --partitions 指定分区数 --replication-factor 指定副本数 创建一个topic

      kafka-topics.sh --delete --zookeeper:端口号 --topic 主题名称 删除指定主题(此时要注意配置文件为true时才真正意义的删除)

      副本数,不能大于borker的数量

      kafka-console-producer.sh --broker-list localhost:9092 --topic events localhost:9092是kafka启动的端口,--topic events是指定发送到某个topic

      kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic events --from-beginning --topic events是指订阅某一个topic的消息。 --from-begining是指从这个topic的第一条消息开始消费

     

  • 相关阅读:
    【leetcode_easy_array】1010. Pairs of Songs With Total Durations Divisible by 60
    【leetcode_easy_array】1013. Partition Array Into Three Parts With Equal Sum
    【leetcode_easy_array】1122. Relative Sort Array
    【opencv基础】opencv中cv::Mat和eigen数据之间的转换
    【c++基础】测试SocketCAN的收发功能
    SRM系统与ERP系统之间存在什么联系(转)
    使用IDEA搭建一个简单的SpringBoot项目——详细过程(转)
    SpringBoot(一):使用IDEA快速搭建一个SpringBoot项目(详细)
    IntelliJ IDEA创建maven web项目(IDEA新手适用)(转)
    Maven的安装与配置(转)
  • 原文地址:https://www.cnblogs.com/easilyai/p/11644984.html
Copyright © 2020-2023  润新知