kafka是什么意思 kafka是什么

Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中所有动作流数据 。这类动作(网页浏览,搜索和别的用户的行动)要在当代网络上的很多社会功能的一个关键要素 。这些信息一般是由于货运量的需求而通过解决日志和日志汇聚去解决 。

kafka是什么意思 kafka是什么

文章插图
针对像 Hadoop 一样的日志数据与离线分析系统,却又规定并行处理限制,这是一个可行的解决方案 。Kafka 的目的是根据 Hadoop 的并行载入体制来统一网上和线下的消息解决,也是为了根据集群来提供实时消息 。
Kafka 是由 Apache 软件基金会研发的一个开源流解决平台,由 Scala 和 Java 撰写 。
Kafka 最初是由领英开发,并随后于 2011 年初开源,并于 2012 年 10 月 23 日由 Apache Incubator 孵化出站 。2014 年 11 月,几个曾在领英为 Kafka 工作的工程师,创立了名叫 Confluent 的新企业,并着眼于 Kafka 。依据 2014 年 Quora 的帖子,Jay Kreps 似乎已经把它以作家弗朗茨·卡夫卡取名 。Kreps 选择将此系统以一个作家取名是由于,这是“一个用以提升写作的系统”,并且他很喜欢卡夫卡作品 。
Kafka 存储的消息来自随意多被称作“生产者”(Producer)的进程 。数据从而可以被分配到不同的“分区”(Partition)、不同的“Topic”下 。在一个分区内,这些消息被检索并连着时间戳存放在一起 。其他被称作“消费者”(Consumer)的进程可以从分区查看消息 。Kafka 运行在一个由一台或多台服务器组成的集群上,而且分区能够跨集群节点遍布 。
Kafka 有效地解决即时流式数据,能够实现与 Storm、HBase 和 Spark 的集成 。做为聚类部署到多台服务器上,Kafka 解决它所有的公布和定阅消息系统使用了四个 API,即生产者 API、消费者 API、Stream API 和 Connector API 。它可以传送规模性流式消息,内置容错作用,早已替代了一些传统消息系统,如 JMS、AMQP 等 。
Kafka 架构的关键术语包含 Topic、Record 和 Broker 。Topic 由 Record 构成,Record 拥有不同的信息,而 Broker 则负责拷贝消息 。Kafka 有四个关键 API:
生产者 API:支持应用程序公布 Record 流 。消费者 API:支持应用程序定阅 Topic 与处理 Record 流 。Stream API:将输入流转换成输出流,并产生结果 。Connector API:实行可重用的生产者和消费者 API,可将 Topic 链接到目前应用程序 。有关术语
Topic 用于对消息进行筛选,每个进入 Kafka 的信息都能被放到一个 Topic 下Broker 用于完成数据存储的主机服务器Partition 每个 Topic 里的消息能被分成多个 Partition,以提升消息的处理效率Producer 消息的生产者Consumer 消息的消费者Consumer Group 消息的消费群组Kafka 的性能
因其普遍集成到企业级基础设施中,检测 Kafka 在规模运行中的性能成为一个日益重要的问题 。检测端到端性能,规定追踪全部指标,包含 Broker、消费者和生产者 。除此之外还要检测 ZooKeeper,Kafka 用它融洽每个消费者 。当前有一些监测平台能够追踪卡夫卡的性能,有开源的,如领英的 Burrow;也有付费的,如 Datadog 。除了这些平台以外,搜集 Kafka 的信息也可以用工具来开展,这些工具一般需要 Java,包含 JConsole 。
【kafka是什么意思 kafka是什么】