简而言之的kafka:简单的主题,事件和溪流
#初学者 #database #java #learning

介绍

多年来,我们用于数据存储的默认方法一直是数据库,这些方法实际上已经为我们服务了数十年。

但是,在某些情况下,专注于事件而不是静态数据可能更有益。

事件

那么,一个事件到底是什么?事件是时间戳的指示,表明已经发生了特定的诉讼。

传统上,在数据库中存储事件可能会有点低效。取而代之的是,我们使用称为日志的结构 - 有序的事件序列,每个序列都伴随着某种状态和事件的描述。

这种结构是直观且可扩展的。

主题

输入Kafka - 旨在管理这些日志的强大系统。在Kafka生态系统中,这些日志被称为“主题”。

kafka通过在多个磁盘或服务器上编写主题来确保耐用性,从而消除了与单个失败点相关的风险。

主题的保留范围可以从短时间到几年,甚至无限期,它们的尺寸可能从微小到巨大的变化。

每个事件捕获特定的业务发生。

思考在卡夫卡

kafka提示开发人员优先考虑事件而不是静态实体。

正常构建具有单数,膨胀数据库的整体应用的日子已经过去了。

现在,无论您是使用单个服务还是多个服务,它们都可以从并生产到Kafka主题。

可能性

随着这些主题中的数据,可以通过直接从主题中消费消息而不是依靠隔夜批处理过程来建立执行实时分析的服务是可行的。

Kafka Connect

Kafka提供的工具,例如Kafka Connect,它有助于随着事件的捕获而捕获数据库并将其填充到主题中 - 适合您所设想的任何用例。

此外,Kafka Connect可以将事件从主题导出到数据库或任何外部系统。

kafka流

在操纵主题时,可以根据其键进行分组,允许将其引导到另一个主题之前进行汇总或计数。

kafka通过其KAFKA流API简化了此过程。这是一个基于Java的API,涵盖了所有基础元素和基础架构,可确保可伸缩性和可靠性,而无需开发人员从头开始构建这些。

其他

希望这为Kafka提供了MVP级的基础理解。您的下一步?通过Kafka快速启动指南直接研究代码和实验。

https://kafka.apache.org/quickstart