Kafka 的工作原理是什么?
一、Kafka 的工作原理
Kafka 通过以下五个核心功能实现流式事件处理:
1、发布
数据源可以将数据事件流发布到或放入一个或多个 Kafka 主题,或类似的数据事件分组中。例如,您可以从物联网设备(例如网络路由器)获取数据流,然后将其发布到进行预测性维护的应用中,以计算该路由器何时可能发生故障。
2、使用
应用可以订阅一个或多个 Kafka 主题,从中获取数据,并处理生成的数据流。例如,一个应用可以从多个社交媒体流中获取数据,并对其进行分析,以确定关于一个品牌的在线对话的基调。
3、处理
Kafka Streams API 可以作为流处理器,使用来自一个或多个主题的传入数据流,并生成向一个或多个主题发布的传出数据流。
4、连接
您还可以构建可重复使用的生产者或使用者连接,以关联 Kafka 主题与现有应用。目前已经有数百个可用的连接器,包括连接 Dataproc、BigQuery 等关键服务的连接器。
5、存储
Apache Kafka 可提供持久的存储服务。Kafka 可以作为“真实来源”,将数据分布在多个节点上,以实现单个数据中心内或多个可用区的高可用性部署。
二、Kafka 作为代管式服务
尽管 Kafka 具有许多优点,但要部署这项技术仍然很有挑战性。本地 Kafka 集群在生产过程中很难建立、扩容和管理。在搭建本地基础架构以运行 Kafka 时,您需要预配机器并配置 Kafka。您还必须设计分布式机器集群以确保可用性、确保数据的存储和安全、设置监控,并谨慎地为数据扩容以支持负载变化。然后,您必须维护基础设施,在机器出现故障时更换机器,并进行例行修补和升级。
另一种方法是将 Kafka 作为云中的代管式服务。第三方供应商负责预配、构建和维护 Kafka 基础架构。您负责构建及运行应用。这使您无需具备特定的 Kafka 基础架构管理专业知识就能轻松部署 Kafka,减少在管理基础架构上耗费的时间,把更多时间投入到创造业务价值上。
以上就是关于Kafka 的工作原理以及Kafka 作为代管式服务的全部内容了,希望对你有所帮助。

相关推荐HOT
更多>>
Cmd指令和JAVA编程语言有什么区别?
一、Cmd指令和JAVA编程语言的区别CMD指令和Java编程语言是两个不同的概念,它们的区别是:1、用途不同CMD指令是命令行界面下的命令指令,用于操...详情>>
2023-10-18 23:58:30
软件层和应用层有哪些区别?
一、软件层和应用层的区别在计算机网络中,软件层和应用层是两个不同的概念,它们具有明显的区别。1、定义不同软件层(Software Layer)是指把...详情>>
2023-10-18 19:53:05
hold和host的区别?
一、hold和host的区别hold 表示举行举办的时候,是sb hold sth例如: I hold a meeting。host 作动词表示举行,比如I host a party但是host有带...详情>>
2023-10-18 19:31:56
研发管理体系,如何挑选哪种更适合?
一、研发管理体系1. 基于CMMI的研发体系CMMI能力成熟度模型相信大家都不陌生,从一级到五级,覆盖了22个过程域,一般能达到CMMI3级别的基本上可...详情>>
2023-10-18 16:42:32