Kafka

Apache Kafka是一个分布式流平台

流平台具有三个关键功能:

  • 发布和订阅记录流,类似于消息队列或企业消息传递系统。
  • 以容错的持久方式存储记录流。
  • 处理发生的记录流。

Kafka通常用于两大类应用程序:

  • 建立实时流数据管道,以可靠地在系统或应用程序之间获取数据
  • 构建实时流应用程序以转换或响应数据流

要了解Kafka如何执行这些操作,让我们从头开始深入研究Kafka的功能。

首先几个概念:

  • Kafka在一个或多个可以跨越多个数据中心的服务器上作为集群运行。
  • Kafka集群将记录流存储在称为topic的类别中
  • 每个记录由一个键,一个值和一个时间戳组成。

Kafka具有四个核心API:

  • 制片API允许应用程序发布的记录流至一个或多个卡夫卡的话题。
  • 消费者API允许应用程序订阅一个或多个主题,并处理所产生的对他们记录的数据流。
  • 所述流API允许应用程序充当流处理器,从一个或多个主题消耗的输入流,并产生一个输出流至一个或多个输出的主题,有效地将所述输入数据流,以输出流。
  • 连接器API允许构建和运行可重复使用的生产者或消费者连接卡夫卡主题,以现有的应用程序或数据系统。例如,关系数据库的连接器可能会捕获对表的所有更改。

在Kafka中,客户端和服务器之间的通信是通过简单,高性能,与语言无关的TCP协议完成的

posted @ 2020-09-02 11:12  PIPO2  阅读(113)  评论(0编辑  收藏  举报