Kafka的相关说明

一:kafka配置信息

  1.配置说明:

    Broker的配置信息server.properties

      Socket Server Setting:

        port=9092

      Log Basics:

        log.dirs=/home/alex/tmp/kafka-logs

        num.partitions=1

      Log Flush Polocy:日志刷盘策略有两种:

        消息的个数达到10000个,实现刷盘

          log.flush.interval.messages=10000

        消息的时间间隔达到1s,实现刷盘

          log.flush.interval.ms=1000

      Log Retention Policy:日志保留策略,有以下几种

        设置日志保留的默认时间为一周

          log.retention.hours=168

        日志大小默认为1G

          log.retention.bytes=1073741824

        日志段文件的最大大小

          log.segment.bytes=1073741824

        检查日志段的间隔时间为5分钟,以查看它们是否可以根据删除保留政策

          log.retention.check.interval.ms=300000

二:Partition分区数和Broker数关系

  1.如果Partition数等于Broker数

    kafka集群比较均衡

  2.如果Partition数小于Broker数

    某个Broker节点上不存在当前topic的分区,Broker节点可能被闲置,最终导致Kafka集群吞吐率下降

  3.如果Partition数大于Broker数

    抛异常 java.lang.IllegalArgumentException: Invalid partition given with record: 1 is not in the range [0...0].

三:kafka“推拉”模式

 

Kafka选择由producer向broker push消息并由consumer从broker pull消息。
push模式的目标是尽可能以最快速度传递消息;
pull模式则可以根据consumer的消费能力以适当的速率消费消息。
posted @ 2019-05-02 09:00  Coding_Now  阅读(385)  评论(0编辑  收藏  举报