📜  阿帕奇卡夫卡 |介绍

📅  最后修改于: 2022-05-13 01:56:49.467000             🧑  作者: Mango

阿帕奇卡夫卡 |介绍

Apache Kafka 是一个发布-订阅消息系统。消息传递系统允许您在进程、应用程序和服务器之间发送消息。从广义上讲,Apache Kafka 是一个可以定义和进一步处理主题(一个主题可能是一个类别)的软件。应用程序可以连接到该系统并将消息传输到主题上。消息可以包含任何类型的信息,来自您个人博客上的任何事件,也可以是非常简单的文本消息,会触发任何其他事件。

卡夫卡经纪人

Kafka 集群通常由一个或多个服务器(称为 kafka 代理)组成,这些服务器在它们之上运行 Kafka。生产者是将数据(通过触发器推送消息)发布到指定代理中的 Kafka 主题的进程。主题的消费者从 Kafka 主题中提取消息。

簇

Kafka 主题:主题基本上是在操作期间存储和发布消息的类别或提要名称。消息大多是字节数组,可以以任何格式存储任何对象。是的,这就是卡夫卡最好的地方。任何对象都可以存储为字节数组。此外,正如我们之前所讨论的,所有 Kafka 消息都被组织成主题。如果您想发送消息,请将其发送到特定主题,如果您希望阅读消息,则从特定主题中阅读。
消费者和消费者组:消费者始终可以从特定偏移量开始读取消息,并允许从他们选择的任何偏移点读取消息。这允许消费者在任何时间点加入集群。这使得功能和工作非常顺利。
分区允许您通过将特定主题中的数据拆分到多个代理来并行化主题。

消费者

Apache Kafka 和重要的服务器概念

  • 主题分区:Kafka 主题被划分为多个分区,允许您跨多个代理拆分数据。
  • 消费者组:消费者组包括订阅特定主题的一组消费者进程。
  • 节点:节点是 Apache Kafka 集群中的单台计算机。
  • 副本:分区的副本是分区的“备份”。副本从不读取或写入数据。它们用于防止数据丢失。
  • 生产者:发送消息的应用程序。
  • 消费者:接收消息的应用程序。

实时应用

  • Twitter :注册用户可以阅读和发布推文,但未注册用户只能阅读推文。 Twitter 使用 Storm-Kafka 作为其流处理基础设施的一部分。
  • LinkedIn :LinkedIn 使用 Apache Kafka 来获取活动流数据和运营指标。除了 Hadoop 等离线分析系统外,Kafka 消息系统还帮助 LinkedIn 提供各种产品,如 LinkedIn Newsfeed、LinkedIn Today 等在线消息消费。
  • Netflix :Netflix 是一家美国跨国点播互联网流媒体提供商。 Netflix 使用 Kafka 进行实时监控和事件处理。
  • Box :在 Box,Kafka 用于生产分析管道和实时监控基础设施。

参考资料

卡夫卡官方
维基