企业中离线业务场景,实时业务场景都需要使用到 Kafka。
Kafka 具备数据的计算能力和存储能力,但是两个能力相对(MR/SPARK,HDFS)较弱。
Kafka 角色的角色与 Hbase 比较像,层级关系比较多。
消息队列的介绍
消息(Message):是指应用之间传送的数据,或点与点之间,点与多点之间传递的数据,传递的信息。
消息队列(Message Queue):是一种应用间的通信方式以队列的形式传递。消息发送后可以立即返回,由消息系统来确保信息的可靠传递,消息发布者只管把消息发布到MQ中而不管谁来取,消息使用者只管从MQ中取消息而不管谁发布的,这样发布者和使用者都不知道对方的存在。
消息队列的应用场景
应用耦合:多应用间通过消息队列对同一消息进行处理,避免调用接口失败导致整个过程失败。
异步处理:多应用对消息队列中同一消息进行处理,应用间并发处理消息,相比串行处理,减少处理时间。
限流削峰:广泛应用于秒杀或抢购活动中,避免流量过大导致应用系统挂掉的情况
消息驱动的系统:系统分为消息队列、消息生产者、消息消费者,生产者负责产生消息,消费者(可能有多个)负责对消息进行处理。