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

kafka概述

时间:2020-04-07 22:14:54      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:接受   目标   cer   lin   cal   架构   分布   保存   分布式消息   

1.kafka是什么?

Apache Kafka是一个开源消息系统,由Scala写成。是由Apache软件基金会开发的一个开源消息系统项目。

Kafka最初是由LinkedIn开发,并于2011年初开源。2012年10月从Apache Incubator毕业。该项目的目标是为处理实时数据提供一个统一、高通量、低等待的平台。

Kafka是一个分布式消息队列:生产者、消费者的功能。它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现。

Kafka对消息保存时根据Topic进行归类,发送消息者称为Producer,消息接受者称为Consumer,此外kafka集群有多个kafka实例组成,每个实例(server)成为broker。

无论是kafka集群,还是producer和consumer都依赖于zookeeper集群保存一些meta信息,来保证系统可用性

2.为什么需要消息队列

消息系统的核心作用就是三点:解耦,异步和并行

以用户注册的案列来说明消息系统的作用

用户注册的一般流程

技术图片

问题:随着后端流程越来越多,每步流程都需要额外的耗费很多时间,从而会导致用户更长的等待延迟。

用户注册的并行执行技术图片

问题:系统并行的发起了4个请求,4个请求中,如果某一个环节执行1分钟,其他环节再快,用户也需要等待1分钟。如果其中一个环节异常之后,整个服务挂掉了。

技术图片

用户注册的最终一致

技术图片

3.Kafka架构,分布式模型

Topic :消息根据Topic进行归类,主题

Producer:发送消息者,生产者

Consumer:消息接受者,消费者

broker:每个kafka实例(server)

Zookeeper:依赖集群保存meta信息。

技术图片

 

 

 

kafka概述

标签:接受   目标   cer   lin   cal   架构   分布   保存   分布式消息   

原文地址:https://www.cnblogs.com/liujinqq7/p/12656375.html

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