Apache Kafka教程A系列:介绍

原文地址:https://www.tutorialspoint.com/apache_kafka/apache_kafka_introduction.htm

在大数据中,使用了大量的数据。关于数据,我们有两个主要挑战。第一个挑战是如何收集大量数据,第二个挑战是分析收集的数据。为了克服这些挑战,您必须使用消息传递系统。


卡夫卡专为分布式高吞吐量系统而设计。卡夫卡倾向于非常好地取代传统的信息代理者。与其他消息系统相比,Kafka具有更好的吞吐量,内置分区,复制和固有容错功能,因此非常适合大型消息处理应用程序。

什么是消息系统?
消息系统负责将数据从一个应用程序传输到另一个应用程序,因此应用程序可以专注于数据,但不用担心如何共享数据。分布式消息传递基于可靠消息队列的概念。消息在客户端应用程序和消息传递系统之间异步排队。有两种类型的消息传递模式可用 - 一种是点对点的,另一种是发布 - 订阅(pub-sub)消息传递系统。大多数消息传递模式遵循pub-sub。

点对点消息系统

在点对点系统中,消息被保存在一个队列中。一个或多个消费者可以消费队列中的消息,但是特定的消息只能由最多一个消费者消费。一旦消费者在队列中读取消息,消息就从该队列中消失。这个系统的典型例子是一个订单处理系统,其中每个订单将由一个订单处理器处理,但是多订单处理器也可以同时工作。下图描述了结构。

发布 - 订阅消息系统

在发布 - 订阅系统中,消息被保存在一个主题中。 与点对点系统不同,消费者可以订阅一个或多个主题并使用该主题中的所有消息。 在发布 - 订阅系统中,消息生产者称为发布者,消息消费者称为订阅者。 一个真实的例子是Dish TV,它发布体育,电影,音乐等不同的频道,任何人都可以订阅他们自己的频道,并在他们订阅的频道可用时获得。

什么是卡夫卡?
Apache Kafka是一个分布式的发布 - 订阅消息传递系统和一个强大的队列,可以处理大量的数据,并使您能够将消息从一个端点传递到另一个端点。卡夫卡适合离线和在线消息消费。卡夫卡消息被保存在磁盘上并在集群内复制以防止数据丢失。 Kafka建立在ZooKeeper同步服务之上。它与Apache Storm和Spark完美集成,用于实时流数据分析。


优点
以下是卡夫卡的一些好处 - 
  • 可靠性 - 卡夫卡是分布式,分区,复制和容错。
  • 可扩展性 - Kafka消息系统无需停机即可轻松扩展。
  • 耐久性 - Kafka使用分布式提交日志,这意味着消息尽可能快地保留在磁盘上,因此它是持久的。
  • 性能 - Kafka对于发布和订阅消息都有很高的吞吐量。它保持稳定的性能,即使存储了许多TB的消息。
卡夫卡速度非常快,可确保零停机时间和零数据丢失。

用例

卡夫卡可用于许多用例。其中一些列在下面 - 

  • 指标 - Kafka通常用于运营监控数据。这涉及汇总分布式应用程序的统计数据以生成操作数据的集中式提要。
  • 日志聚合解决方案 - Kafka可以在整个组织中使用,从多个服务中收集日志,并以标准格式向多个消费者提供。
  • 流处理 - 流行的框架(如Storm和Spark Streaming)可以从主题读取数据,对其进行处理,并将处理后的数据写入新主题,以供用户和应用程序使用。卡夫卡的强耐久性在流加工方面也非常有用。

何时需要卡夫卡
Kafka是处理所有实时数据馈送的统一平台。 Kafka支持低延迟消息传送并在出现机器故障时保证容错。它有能力处理大量不同的消费者。卡夫卡速度非常快,每秒执行200万次写入。卡夫卡会将所有数据保留在磁盘上,这意味着所有写入都会进入操作系统(RAM)的页面缓存。这使得从页面缓存向网络套接字传输数据非常高效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值