kafka

来源:互联网 发布:淘宝数码商城 编辑:程序博客网 时间:2024/06/05 06:14

kafka —a   distributed  streaming platfform


PUBLISH & SUBSCRIBE

Read and write streams of data like a messaging system.

Learn more »

PROCESS

Write scalable stream processing applications that react to events in real-time.

Learn more »

STORE

Store streams of data safely in a distributed, replicated, fault-tolerant cluster.

Learn more »


It gets used for two broad classes of application:

  1. Building real-time streaming data pipelines that reliably get data between systems or applications
  2. Building real-time streaming applications that transform or react to the streams of data


First a few concepts:

  • Kafka is run as a cluster on one or more servers.
  • The Kafka cluster stores streams of records in categories called topics.
  • Each record consists of a key, a value, and a timestamp.

Kafka has four core APIs:

  • The Producer API allows an application to publish a stream of records to one or more Kafka topics.
  • The Consumer API allows an application to subscribe to one or more topics and process the stream of records produced to them.
  • The Streams API allows an application to act as a stream processor, consuming an input stream from one or more topics and producing an output stream to one or more output topics, effectively transforming the input streams to output streams.
  • The Connector API allows building and running reusable producers or consumers that connect Kafka topics to existing applications or data systems. For example, a connector to a relational database might capture every change to a table.



In Kafka the communication between the clients and the servers is done with a simple, high-performance, language agnosticTCP protocol. This protocol is versioned and maintains backwards compatibility with older version. We provide a Java client for Kafka, but clients are available inmany languages.


Topics —partitions

Producer

Consumer

Stream

connector


原创粉丝点击