更新时间:2024-08-05 GMT+08:00

Kafka应用开发简介

Kafka简介

Kafka是一个分布式的消息发布-订阅系统。它采用独特的设计提供了类似JMS的特性,主要用于处理活跃的流式数据。

Kafka有很多适用的场景:消息队列、行为跟踪、运维数据监控、日志收集、流处理、事件溯源、持久化日志等。

Kafka有如下几个特点:

  • 高吞吐量
  • 消息持久化到磁盘
  • 分布式系统易扩展
  • 容错性好
  • 支持online和offline场景

接口类型简介

Kafka主要提供了的API主要可分Producer API和Consumer API两大类,均提供有Java API,使用的具体接口说明请参考Kafka Java API接口介绍

常用概念

  • Topic

    Kafka维护的同一类的消息称为一个Topic。

  • Partition

    每一个Topic可以被分为多个Partition,每个Partition对应一个可持续追加的、有序不可变的log文件。

  • Producer

    将消息发往Kafka Topic中的角色称为Producer。

  • Consumer

    从Kafka topic中获取消息的角色称为Consumer。

  • Broker

    Kafka集群中的每一个节点服务器称为Broker。

  • keytab file

    存放用户信息的密钥文件。应用程序采用此密钥文件在集群中进行API方式认证。