kafka的配置

1、kafka的配置

advertised.listeners=PLAINTEXT://10.109.30.170:9092    #这个是kafka发给客户端的配置,就是客户端需要用这个配置连接kafka,在虚拟环境下这个配置是很重要的,就是有那种内外网的环境

advertised.host.name

advertised.port

2、topic的配置

3、producer的配置

4、consumer的配置

props.put("consumer.timeout.ms", "100");

这个配置很重要,关乎取消息的阻塞的时间

默认-1,consumer在没有新消息时无限期的block。如果设置一个正值, 一个超时异常会抛出

 

kafka:异步、解耦、流量削峰、日志处理、消息通讯、缓冲能力、伸缩性、扩展性、可恢复性(可允许一部分组件短时间不可用)

kafka:ack机制和isr机制

kafka消息的拉取

kafka提交offset:

  自动提交

  异步提交

  同步提交

  自己维护offset(data与offset放在同一个事务里)【offset表的主键consumerGroup+Topic+Partition,offset】

kafka生产者分区策略:

  指定分区

  指定key

  轮询

kafka的优点:1、索引加载到内存  2、追加磁盘的快速性  3、天生支持分布式   4、0拷贝复制   5、持久化  6、批量操作  7、pagecache 8、使用mmap技术,所以写入的时候不是直接写入磁盘的

kafka的缺点:实时性、全局有序性、依赖zookeeper、不支持amqp协议

Kafka为什么那么快

  1、利用partition实现并行处理

  2、顺序写磁盘

顺序写磁盘(删除策略:将partition分为多个Segment,每个Segment对应一个物理文件通过删除整个文件的方式删除partion内的数据)

  3、page cache

page  cache(对文件系统的缓冲),buffer cache(对磁盘扇区的缓冲);一个page  cache包括多个buffer  cache。kafka充分的利用了page cache。(完全可以由 Kafka 层面的 Replication 机制去保证可靠性)

  4、零拷贝技术

  (1)网络数据持久化到磁盘

mmap技术

  (2)磁盘文件通过网络发送

    send file技术

  5、批处理技术

  6、数据压缩技术

参考文献:

kafka的配置参数:https://www.cnblogs.com/metoy/p/4573880.html

kafka的配置文档:http://kafka.apache.org/documentation/#configuration

posted @ 2019-07-02 13:06  海平面下的我们  阅读(196)  评论(0编辑  收藏  举报