前言

kafka的外在表现很像消息系统,允许发布和订阅消息流,但是它和传统的消息系统有很大的差异:

  • 首先,kafka是个现代分布式系统,以集群的方式运行,可以自由伸缩
  • 其次,kafka可以按照要求存储数据,保存多久都可以
  • 第三,流式处理将数据处理的层次提示到了新高度,消息系统只会传递数据。kafka的流式处理能力可以让我们用很少的代码就能动态的处理派生流和数据集。所以,kafka不仅仅是个消息中间件

kafka不仅仅是个消息中间件,同时它是个流平台,这个平台上可以发布和订阅数据流(kafka的流,有一个单独的包stream的处理),并把它们保存起来,进行处理,这个就是kafka作者的设计理念。今天之所以要聊Kafka,是因为前不久我们公司来了位阿里P8大神,在看完他的手写“Kafka笔记”,我只能用两个字来形容:膜拜!崇拜!

kafka 数据和mysql关联写入数据库 kafka和数据库区别_经验分享

目录

由于文档内容过多,共计有500页,因此为了避免影响到大家的阅读体验,在此只以截图展示部分内容,详细完整版的可以在文末获取!

kafka 数据和mysql关联写入数据库 kafka和数据库区别_消息系统_02

kafka 数据和mysql关联写入数据库 kafka和数据库区别_面试_03

kafka 数据和mysql关联写入数据库 kafka和数据库区别_java_04

部分内容展示

深入浅出索引(上)

  • 索引的常见模型
  • InnoDB 的索引模型
  • 索引维护
  • 小结

kafka 数据和mysql关联写入数据库 kafka和数据库区别_面试_05

kafka 数据和mysql关联写入数据库 kafka和数据库区别_经验分享_06

深入浅出索引(下)

  • 覆盖索引
  • 最左前缀原则
  • 索引下推

kafka 数据和mysql关联写入数据库 kafka和数据库区别_消息系统_07

kafka 数据和mysql关联写入数据库 kafka和数据库区别_面试_08

为什么这些SQL语句逻辑相同,性能却差异巨大?

  • 案例一:条件字段函数操作
  • 案例二:隐式类型转换
  • 案例三:隐式字符编码转换
  • 小结

kafka 数据和mysql关联写入数据库 kafka和数据库区别_消息系统_09

kafka 数据和mysql关联写入数据库 kafka和数据库区别_面试_10

读写分离有哪些坑?

  • 强制走主库方案
  • Sleep 方案
  • 判断主备无延迟方案
  • 配合 semi-sync
  • 等主库位点方案
  • GTID 方案
  • 小结

kafka 数据和mysql关联写入数据库 kafka和数据库区别_java_11

kafka 数据和mysql关联写入数据库 kafka和数据库区别_经验分享_12

kafka 数据和mysql关联写入数据库 kafka和数据库区别_kafka_13

难道这样就够了吗?不,远远不够!

提前多熟悉阿里往年的面试题肯定是对面试有很大的帮助的,但是作为技术性职业,手里有实打实的技术才是你面对面试官最有用的利器,这是从内在散发出来的自信。