kafka读书笔记《kafka并不难学》

======第一章

1 在高并发场景,如大量插入、更新数据库会导致锁表,导致连接数过多的异常,此时需要消息队列来缓冲一下。消息队列通过异步处理请求来缓解压力

2 消息队列采用异步通信机制
消息队列拥有先进先出的特性

3 利用先见先出的特性可以做限流。如秒杀中,当消息队列满的时候,返回用户“商品已售完”,这样限制了一部分人能购买成功

4 activeMQ不支持水平扩展,但kafka支持

5 自定义发送到哪个区:可以对消息的key取哈希值,然后哈希值对分区数取模,得到分区

6 消费者数<=分区数,大于分区数没有,浪费资源

7 分区是物理层面的,不通分区对应不通数据文件

8 一个分区只在一个broker上,一个broker可以有多个分区

9 每条record包含一个键、值和时间戳

=====第二章

kafka使用scada编写的,安装前需要安装JDK。
kafka集群需要zookeeper
2.2.3 介绍了免密登陆的设置方法

2.2.4 介绍了zookeeper的安装

无论单机还是集群,先启动的zookeeper,然后启动的kafka

__consumer_offsets里记录了kafka消费者产生的消费记录,其中包含偏移量offset、时间戳和线程名

控制器就是kafka的一个broker,除具有一般broker的功能外,还有选举主题分区leader的功能

=====第三章

通过describe 和 under-replicated-partitions 查看正在同步的分区,若控制台没有打印任何信息,说明没有正在同步的分区,若有打印,则要关注下这些分区,可能节点出现异常或同步速度慢


通过describe 和 unavilable-partions查看不可用的分区

若想删除主题,在启动kafka集群之前选哟开启删除主题的开关,该属性默认是关闭的

 在kafka系统中,主题的分区只能增加,不能减少

==========第4章

原文地址:https://www.cnblogs.com/testzcy/p/11323319.html