kafka初次学习

kafka初次学习

什么时候会使用到kafka?

企业中离线业务场景和实时业务场景都需要使用到kafka
kafka具备数据的计算能力和数据的存储能力,但是相对于两个能力(MapReuuce/Spark)将对较弱

1.消息队列的介绍

消息 : 应用之间的一种通信方式,或点与点(多点)之间传递的数据,信息.
消息队列 : 是一种应用间通信方式,一队列的形式
kafka初次学习

2.消息队列的应用场景

应用耦合:多应用间通过消息队列对同一消息进行处理
异步处理:多应用间对消息队列中的同一消息进行处理
限流削峰:用于秒杀和抢购活动中,避免流量过大导致应用系统挂掉的情况

kafka初次学习
消息驱动的系统:有前面消息传递到后,后面的才会触发动作。

3.消息系统的方式

1.点对点的方式
消息队列
发送者 (生产者):生产数据的程序/人/对象
接收者(消费者):处理队列内的数据的程序/人/对象
每个消息只有一个接收者,发送者和接收者间没有依赖性,接收者在成功接收消息之后需向队列应答成功。

2、 发布-订阅的方式
角色主题(Topic):消息得分类,分组(王者荣耀,QQ飞车)
发布者(Publisher):生产者
订阅者(Subscriber):消费者
每个消息可以有多个订阅者,发布者和订阅者之间有时间上的依赖性,订阅者需要提前订阅该角色主题。