*刚学kafka2天,老师安排的作业让把这两天学的内容自己总结一下发一篇博客,所以才写的,肯定很多问题,大佬们勿喷。*
1 Kafka是什么?
简单来说,Kafka就是一个消息系统/消息中间件,虽然Kafka新增了流处理(统计分析计算)的新特性,但是我们一般还是使用Spark,Flink等作为流处理的软件.
2 Kafka的作用是什么?
1)应用解耦:多个应用可通过消息队列对消息进行处理,应用之间相互独立,互不影响.
图例:
2)异步处理:相比于串行和井行处理,异步处理可以减少处理的时间.
3)流量削峰:流量高峰期,可通过消息队列来控制流量, 避免流量过大而引起应用系统崩溃.
4)消息通信:实现点对点消息队列,或者多对多的消息队列.
3 Kafka的生产,消息存储,消费流程细节
1) 生产者流程细节
1.生产者发送消息到Kafka集群使用的是推送模式
2.生产者发送消息到Kafka需要连接到任意一台Kafka节点
3.每一条消息会被封装为一个Record记录对象,里面可以包含主题、分区(可选)