Apache-Kafka简介

x33g5p2x  于2020-09-08 发布在 Kafka  
字(0.6k)|赞(0)|评价(0)|浏览(689)

kafka的定位

提到kafka,不太熟悉或者稍有接触的开发人员,第一想法可能会觉得它是一个消息系统。其实Kafka的定位并不止于此。

Kafka官方文档介绍说,Apache Kafka是一个分布式流平台,并给出了如下解释:

流平台有三个关键的能力:

  • 发布订阅记录流,和消息队列或者企业新消息系统类似。
  • 以可容错、持久的方式保存记录流
  • 当记录流产生时就进行处理

Kafka通常用于应用中的两种广播类型:

  • 在系统和应用间建立实时的数据管道,能够可信赖的获取数据。
  • 建立实时的流应用,可以处理或者响应数据流。

由此可见,kafka给自身的定位并不只是一个消息系统,而是通过发布订阅消息这种机制实现了流平台。

其实不管kafka给自己的定位如何,他都逃脱不了发布订阅消息的底层机制。本文讲解的重点,也是kafka发布订阅消息的特性。

Kafka和大多数消息系统一样,搭建好kafka集群后,生产者向特定的topic生产消息,而消费者通过订阅topic,能够准实时的拉取到该topic新消息,进行消费。如下图:

Kafka特性

kafka和有以下主要的特性:

  • 消息持久化
  • 高吞吐量
  • 可扩展性

尤其是高吞吐量,是他的最大卖点。kafka之所以能够实现高吞吐量,是基于他自身优良的设计,及集群的可扩展性。后面章节会展开来分析。

Kafka应用场景

  • 消息系统
  • 日志系统
  • 流处理

相关文章