码迷,mamicode.com
首页 > 其他好文 > 详细

Kafka 简介

时间:2021-06-02 12:12:15      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:大数   写入   两种   点对点   隔离   处理过程   反馈   没有   一段   

Kafka概述

Kafka是一个基于发布、订阅的分布式消息队列,用于大数据实时处理。

为什么要用kafka?

  • 注册信息的过程,先在网站上填写注册信息,后台会调用其他服务的接口,反馈给网页注册成功信息,最后再显示给用户,并且将短信发送给用户,该过程为同步通信过程,需要同步等待,由于同步通信的过程比较慢效率比较低,引入了消息队列,网页将注册信息放到消息队列中等待,然后直接回复用户注册成功,在一段时间以后用户才收到短信提示,通过消息队列将网页和短信进行了隔离,不用让用户在注册的同时一直等待。
说明:同步通信干一件事等着回复,异布通信干一件事不等着回复,有回复通知即可。

消息队列的好处:

  1. 解耦:

    MQ在数据生产方和数据消费方做了一个解耦,允许你独立的扩展或修改两边的处理过程。

  2. 可恢复:

    消息队列降低了进程间的耦合度,即使一个处理消息的进程故障,加入队列中的消息仍然可以在系统恢复后被处理。

  3. 缓冲:

    有助于控制和优化数据流经过系统的速度,解决生产消息和消费消息的处理速度不一致。

  4. 峰值处理:

    使用消息队列能够使关键组件顶住突发的访问压力,而不会因为突发的超负荷的请求而完全崩溃。

说明:
  • 数据注册时写入数据库的时候考虑的高并发的请求,但发送短信的服务并没有考虑高并发,如果数据直接发到短信服务端会导致短信服务端崩溃,将数据发送到MQ的后,让短信服务端自己根据自己的能力去取即可。

消息队列的两种模式:

  1. 点对点:消费者主动拉取数据,数据被消费者消费之后消息队列中的数据会清除。
    • 消息生产者生产消息后发送到队列中, 然后消息消费者从消息队列中主动拉取并消费消息,消息被消费以后,队列中不在有存储,所以消息消费者不可能消费已经被消费过的消息,消息队列支持多个消费者,但是对一个消息而言,只可以被一个消费者消费
  2. 订阅/发布:消费者消费数据之后不会清除消息。
    • 消息生产者(发布)将消息发布到topic中,同时有多个消息消费者(订阅)消费该消息。和点对点方式不同, 发布到topic的消息会被所有订阅者消费。 ‘topic‘就是逻辑上消息队列。

Kafka 简介

标签:大数   写入   两种   点对点   隔离   处理过程   反馈   没有   一段   

原文地址:https://www.cnblogs.com/yuexiuping/p/14815224.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!