垃圾收集器cms全称:Concurrent Mark Sweep
undo log 和 redo log
MQ:产生的原因:
1、解耦。异于rpc直接调用,中间有个缓冲。
2、削峰。请求的并发量存在队列,系统按照自己的流量去取队列的数据。
3、数据分发(异步)。对于一个数据,多个系统根据自己的需要实际去取。
同时暴露的问题:
1、系统可用性降低。MQ宕机,对业务影响。
2、增加复杂度。顺序问题、重复问题、丢失问题。
3、数据一致性。
主流:ActiveMQ(主从)\RabbitMQ(主从)\RocketMQ(分布式)\kafka(分布式)
点对点 模式 和 发布订阅 模式
稀疏索引(为部分数据建立索引)和稠密索引(为每个数据建立索引地址);
producer推(push)到leader,follower 自己拉(pull)。每个消费者组可消费同一个topic不同partition(一个或者多个),但是多个消费者不能同时消费一个partition。
每个partition下面有很多segment文件包含.index,.log,.timeindex文件。index文件就是最小offset值命名,log就是消息文件。index文件是个稀疏索引列表,通过这个列表匹配到消息体。每个消息消费到哪里,记录在__consumer_offsets这个topic中。