全国咨询/投诉热线:400-618-9090

首页技术文章正文

Kafka是什么?kafka有什么优点?

更新时间:2020-05-29 来源:黑马程序员 浏览量:

Kafka是一个高吞吐量的分布式发布订阅消息系统,它在实时计算系统中有着非常强大的功能。通常情况下,使用Kafka构建系统或应用程序之间的数据管道,用来转换或响应实时数据,使数据能够及时地进行业务计算,得出相应结果。

 

1590724018089_kafa.jpg


Kafka是由Apache软件基金会开发的一个开源流处理平台,它使用Scala和Java语言编写,是一个基于Zookeeper系统的分布式发布订阅消息系统,该项目的设计初衷是为实时数据提供一个统一、高通量、低等待的消息传递平台。在0.10版本之前,Kafka只是一个消息系统,主要用来解决应用解耦、异步消息等问题,在0.10版本之后,Kafka推出了连接器与流处理的功能,使其逐渐成为一个流式数据平台。

 

ApacheKafka作为分布式消息系统,可以处理大量的数据,并能够将消息从一个端点传递到另外一个端点。Kafka系统在大数据领域中的应用非常普遍,它能够在离线和实时两种大数据计算架构中处理数据,这得益于Kafka的众多优点,其优点具体如下。

 

(1)解耦。Kafka具备消息系统的优点,只要生产者和消费者数据两端遵循接口约束,就可以自行扩展或修改数据处理的业务过程。

(2)高吞吐量、低延迟。即使在非常廉价的机器上,Kafka也能做到每秒处理几十万条消息,而它的延迟最低只有几毫秒。

(3)持久性。Kafka可以将消息直接持久化在普通磁盘上,且磁盘读写性能优异。

(4)扩展性。Kafka集群支持热扩展,Kaka集群启动运行后,用户可以直接向集群添。

(5)容错性。Kafka会将数据备份到多台服务器节点中,即使Kafka集群中的某一台加新的Kafka服务节点宕机,也不会影响整个系统的功能。

(6)支持多种客户端语言。Kafka支持Java、.NET、PHP、Python等多种语言。

 

在大数据计算系统的开发场景中,若需要对接外部数据源时,就可以使用Kafka系统,如读者熟悉的日志收集系统和消息系统,Kafka读取日志系统中的数据,每得到一条数据,就可以及时地处理一条数据,这就是常见的流式计算框架。在流式计算框架中,Kafka一般用来缓存数据,它与Apache旗下的Spark、Storm等计算框架有着非常好的集成,这些计算框架可以接收Kafka中的缓存数据并进行计算,实时得出计算结果。

1577370495235_学IT就到黑马程序员.gif


Kafka使用消费组(ConsumerGroup)的概念统一了点对点消息传递模式和发布订阅消息传递模式,当Kafka使用点对点模式时,它可以将待处理的工作任务平均分配给消费组中的消费者成员;当使用发布订阅模式时,它可以将消息广播给多个消费组。Kafka采用多个消费组结合多个消费者,既可以扩展消息处理的能力,也允许消息被多个消费组订阅。

猜你喜欢:

机器学习可以应用于哪些领域?

什么是机器学习?

大数据系统中的消息传递模式

javaee

python

web

ui

cloud

test

c

netmarket

pm

Linux

movies

robot

http://www.itcast.cn/subject/uizly/index.shtml?seozxuids

14天免费试学

基础班入门课程限时免费

申请试学名额

15天免费试学

基础班入门课程限时免费

申请试学名额

15天免费试学

基础班入门课程限时免费

申请试学名额

15天免费试学

基础班入门课程限时免费

申请试学名额

20天免费试学

基础班入门课程限时免费

申请试学名额

8天免费试学

基础班入门课程限时免费

申请试学名额

20天免费试学

基础班入门课程限时免费

申请试学名额

5天免费试学

基础班入门课程限时免费

申请试学名额

0天免费试学

基础班入门课程限时免费

申请试学名额

12天免费试学

基础班入门课程限时免费

申请试学名额

5天免费试学

基础班入门课程限时免费

申请试学名额

5天免费试学

基础班入门课程限时免费

申请试学名额

10天免费试学

基础班入门课程限时免费

申请试学名额
在线咨询 我要报名