Confulent-Kafka
适配:Rainbond
累计购买

2

销售积分:

0

版      本:

v5.3.2

购买企业:
应用详情
<h2><a id="Kafka_0"></a>什么是Kafka</h2> <p>Apache Kafka®是分布式流处理平台,常用于建立可靠的实时流数据管道以在系统或应用时间传输数据,或者构建实时流应用程序,以转换或响应数据流。<br /> Kafka在一个或多个可以跨越多个数据中心的服务器上作为集群运行。Kafka集群将记录流存储在被称为主题(Topic)的类别中。每个记录由一个键,一个值和一个时间戳组成。<br /> <img src="https://tva1.sinaimg.cn/large/0082zybply1gbx6n7nzloj312y0nmaca.jpg" alt="kafka-apis" /></p> <p>Kafka具有一下核心的API:</p> <h3><a id="Producer_APIhttpsdocsconfluentiocurrentclientsproducerhtmlkafkaproducer_7"></a><a href="https://docs.confluent.io/current/clients/producer.html#kafka-producer" target="_blank">Producer API</a></h3> <p>应用程序可以将记录流发布到一个或多个Kafka主题。</p> <h3><a id="Consumer_APIhttpsdocsconfluentiocurrentclientsconsumerhtmlkafkaconsumer_11"></a><a href="https://docs.confluent.io/current/clients/consumer.html#kafka-consumer" target="_blank">Consumer API</a></h3> <p>应用程序可以订阅主题并处理为其生成的记录流。</p> <h3><a id="Streams_APIhttpsdocsconfluentiocurrentstreamsindexhtmlkafkastreams_15"></a><a href="https://docs.confluent.io/current/streams/index.html#kafka-streams" target="_blank">Streams API</a></h3> <p>应用程序可以充当<em>流处理器</em>,使用一个或多个主题的输入流,并生成一个或多个输出主题的输出流,从而有效地将输入流转换为输出流。</p> <h3><a id="Connector_APIhttpsdocsconfluentiocurrentconnectindexhtmlkafkaconnect_19"></a><a href="https://docs.confluent.io/current/connect/index.html#kafka-connect" target="_blank">Connector API</a></h3> <p>建立并运行可重用的生产者或使用者,将Kafka主题连接到现有应用程序或数据系统。例如,关系数据库的连接器可能会捕获对表的所有更改。</p> <p>在Kafka中,客户端和服务器之间的通信是通过简单,高性能,与语言无关的<a href="https://kafka.apache.org/protocol.html" target="_blank">TCP协议完成的</a>。该协议已版本化,并与旧版本保持向后兼容性。Java客户端是为Kafka提供的,但是客户端支持<a href="https://docs.confluent.io/current/clients/index.html#kafka-clients" target="_blank">多种语言</a>。</p> <h2><a id="_25"></a>主题和日志</h2> <p>Kafka为记录流提供的核心抽象是主题(Topic)。</p> <p>主题是将记录发布到的类别或订阅源名称。Kafka中的主题始终是多用户的。这意味着一个主题可以有零个,一个或多个消费者来订阅写入该主题的数据。</p> <p>对于每个主题,Kafka集群都会维护一个分区日志,如下所示:</p> <p><img src="https://tva1.sinaimg.cn/large/0082zybply1gbx717ayz3j30bk07f74j.jpg" alt="log_anatomy" /></p> <p>每个分区都是有序的,不可变的记录序列,这些记录连续地附加到结构化的提交日志中。分区中的每个记录均分配有一个顺序ID号,称为<em>offset</em>,它唯一标识分区中的每个记录。</p> <p>无论是否已使用可配置的保留期限来使用它们,Kafka群集都会持久保留所有已发布的记录。例如,如果保留策略设置为两天,则在发布记录后的两天内,该记录可供使用,然后在两天后将其丢弃以释放空间。Kafka的性能相对于数据大小实际上是恒定的,这意味着长时间存储数据不是问题。</p> <p><img src="https://tva1.sinaimg.cn/large/0082zybply1gbx74jw4wyj31d90u0djc.jpg" alt="log_consumer" /></p> <blockquote> <p>以上来自 https://docs.confluent.io/current/kafka/introduction.html 的翻译。</p> </blockquote>