zoukankan      html  css  js  c++  java
  • 深入理解kafka核心设计与实践读书笔记

    1 kafka越来越青睐的原因

    1)消息系统,具备系统解耦、冗余存储、流量肖锋、缓冲、异步通信、扩展性、可恢复性等功能。其他消息系统没有的消息顺序性保障以及回溯消费的功能。

    2)存储系统,kafka八消息持久化到磁盘,有效降低数据丢失的风险。只需将数据保留策略设置为“永久”或开启主题的日志压缩功能。

    3)流处理平台,kafka为各个流处理平台提供可靠的数据来源和流式处理类库。

     2 kafka 相关配置及说明

    config/server.properties

    2.1 zookeeper.connect

    该参数指明broker连接的zookeeper集群的服务地址。ip:port,如果有多个节点可以用逗号分隔。最好的方式的加一个chroot路径,这样可以明确指明该chroot路径下的节点是为kafka所用,也可以实现多个kafka集群复用一套zookeeper集群。

    包含chroot路径的配置类似如下

    local1:2181,local2:2181,local3:2181/kafka

    如果不指定chroot,那么默认使用zookeeper的根路径

    2.2 listeners

    该参数指明broker监听的客户端连接地址列表。格式为:protocal1://host1:port1,protocal2://host2:port2

    protocal 表示协议,支持的有PLANTEXT/SSL/SASL_SSL

    如果不指定主机名表示绑定默认网卡,可能会绑定到127.0.0.1,这样无法对外提供服务,所以主机名最好不要为空。如果主机名是 0.0.0.0 表示绑定所有网卡。

    与此关联的有 advertised.listeners 与 listeners 类似。 advertised.listeners 主要用于对外提供服务地址。一般公有云上机器会配备私网网卡和公网网卡,可以设置 advertised.listeners 绑定公网IP供外部客户端使用,配置 listeners 绑定私网IP供broker间通信使用。

    2.3 log.dirs

    kafka 把消息都保存在磁盘上,而这两个参数用来配置 kafka 日志存放的根目录。

    2.4 default.replication.factor

    默认副本复制数量。

    2.5 max.in.flight.requests.per.connection

    该参数指定了生产者在收到服务器响应之前可以发送多少个消息。它的值越高,就会占用越多的内存,不过也会提升吞吐量。把它设为 1 可以保证消息是按照发送的顺序写入服务器的,即使发生了重试。

    2.6 retry.backoff.ms

    它用来设定两次重试之间的时间间隔

    3

    学习过程中,难免出错。如果您在阅读过程中遇到不太明白,或者有疑问。欢迎指正...联系邮箱crazyCodeLove@163.com

    如果觉得有用,想赞助一下请移步赞助页面:赞助一下

  • 相关阅读:
    hdu 2019 数列有序!
    hdu 2023 求平均成绩
    HDU 5805 NanoApe Loves Sequence (思维题) BestCoder Round #86 1002
    51nod 1264 线段相交
    Gym 100801A Alex Origami Squares (求正方形边长)
    HDU 5512 Pagodas (gcd)
    HDU 5510 Bazinga (字符串匹配)
    UVALive 7269 Snake Carpet (构造)
    UVALive 7270 Osu! Master (阅读理解题)
    UVALive 7267 Mysterious Antiques in Sackler Museum (判断长方形)
  • 原文地址:https://www.cnblogs.com/zhaopengcheng/p/14910896.html
Copyright © 2011-2022 走看看