#1、安装kafka

kafka-quickstart

#2 分区存储文件原理

#3 kafka选择分区模式

#4 生产者往kafka发送数据的模式

#5 为什么kafka快

#6 消费者组消费数据的原理

#7 生产者往kafka发送数据原理

kafka和rocketmq都能实现消息队列,为什么要引入rocket,不直接使用kafka

zk 分布式锁慢 除了IO慢之外还有其他原因吗?

排它锁的粒度大,没有区分读、写操作,如果读多写少,则十分影响性能
羊群效应:锁释放后会通知所有等待中的 ZooKeeper 客户端,然后同时发起加锁请求,瞬时压力很大

解决方案是:

1.缩小通知范围:等待锁的小伙伴们按先来后到的顺序排队吧,排好队了,接下来我只需要关心我前面一个节点的状态,当前一个节点被释放,我再去抢锁。

2.缩小锁的粒度:锁不关心业务,但是可以简单地通过操作的读、写性质来二分锁的粒度:
读锁:又称共享锁,如果前面没有写节点,可以直接上锁;当前面有写节点时,则等待距离自己最近的写节点释放( 删除 )。
写锁:如果前面没有节点,可以直接上锁;如果前面有节点,则等待前一个节点释放( 删除 )。