kafka

kafka的简介

Apache Kafka发源于LinkedIn,于2011年成为Apache的孵化项目,随后于2012年成为Apache的主要项目之一。Kafka使用Scala和Java进行编写。Apache Kafka是一个快速、可扩展的、高吞吐、可容错的分布式发布订阅消息系统。Kafka具有高吞吐量、内置分区、支持数据副本和容错的特性,适合在大规模消息处理场景中使用。

接下来先了解一下消息系统的基本理念,然后再介绍Kafka。

消息系统介绍

一个消息系统负责将数据从一个应用传递到另外一个应用,应用只需关注于数据,无需关注数据在两个或多个应用间是如何传递的。分布式消息传递基于可靠的消息队列,在客户端应用和消息系统之间异步传递消息。有两种主要的消息传递模式:点对点传递模式、发布-订阅模式。大部分的消息系统选用发布-订阅模式。

点对点的消息系统:将消息持久化到一个队列中,此时将有一个或者多个消费者去消费此队列中的数据,但此消费队列中的数据,消费者只能消费一次,消费过的数据就会被删除。一般不常用。

 

kafka

 

发布订阅消费系统: 将数据持久化到多个topic中去,消费者可以订阅一个或者多个topic,消费者可以消费此topic中的所有数据信息,而且数据消费之后不会被删除,这样就实现了,多个消费者去消费同一个数据。在发布订阅系统中,生产数据的为发布者,消费数据的为订阅者。

 

 

 

 

kafka是一个分布式的发布-订阅消息系统,能够支撑海量数据的数据传递。在离线和实时的消息处理业务系统中,Kafka都有广泛的应用。Kafka将消息持久化到磁盘中,并对消息创建了备份保证了数据的安全。Kafka在保证了较高的处理速度的同时,又能保证数据处理的低延迟和数据的零丢失。

Kafka的优势在于:

  • 可靠性:Kafka是一个具有分区机制、副本机制和容错机制的分布式消息系统
  • 可扩展性:Kafka消息系统支持集群规模的热扩展
  • 高性能:Kafka在数据发布和订阅过程中都能保证数据的高吞吐量。即便在TB级数据存储的情况下,仍然能保证稳定的性能。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 kafka

原创文章,作者:无所谓,如若转载,请注明出处:http://www.178linux.com/124364

发表评论

登录后才能评论

This site uses Akismet to reduce spam. Learn how your comment data is processed.

联系我们

400-080-6560

在线咨询

工作时间:周一至周五,9:30-18:30,节假日同时也值班

QR code