Kafka| Kafka简介

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011479200/article/details/88574439

在大数据中,使用了大量的数据。 关于大数据,主要有两个主要挑战。第一个挑战是如何收集大量数据第二个挑战是分析收集的数据。 为了克服这些挑战,需要使用消息传递系统。
Kafka专为分布式高吞吐量系统而设计。 Kafka倾向于非常好地取代传统的信息中间服务者。 与其他消息传递系统相比,Kafka具有更好的吞吐量,内置分区,复制和固有容错功能,因此非常适合大型消息处理应用程序。


一.什么是消息系统?

消息系统负责将数据从一个应用程序传输到另一个应用程序,因此应用程序可以专注于数据,但不必担心如何共享数据。
分布式消息传递基于可靠消息队列的概念。 消息在客户端应用程序和消息传递系统之间异步排队。 有两种类型的消息传递模式可用

  • 一种是点对点的消息传递系统
  • 一种是发布 - 订阅(pub-sub)消息传递系统。 大多数消息传递模式遵循pub-sub。

点对点消息系统

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

发布-订阅消息系统

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


二.为什么要开发kafka?

数据储存系统中比如传统的关系型数据库、键值存储引擎、搜索引擎或缓存系统都不能满足把数据看成是是持续变化不断增长的流,所以基于这样的想法构建出了数据系统Kafka,事实上,它是一个数据架构。


三.Kafka到底是什么?

Kafka 与企业级消息系统比较

Kafka 有点像消息系统,允许发布和订阅消息流。从这点来看,它类似于 ActiveMQ 、RabbitMQ 或 IBM 的 MQSeries 等产品。尽管看上去有些相似,但 Kafka 与这些传统的消息系统仍然存在很多重要的不同点,这些差异使它完全不同于消息系统。

  • 首先,作为一个现代的分布式系统, Kafka 以集群的方式运行,可以自由伸缩,处理公司的所有应用程序。 Kafka集群并不是一组独立运行的 broker,而是一个可以灵活伸缩的中心平台,可以处理整个公司所有的数据流。
  • 其次, Kafka 可以按照你的要求存储数据,保存多久都可以 。作为数据连接层, Kafka 提供了数据传递保证可复制、持久化,保留多长时间完全可以由你来决定。
  • 最后,流式处理将数据处理的层次提升到了新高度 。 消息系统只会传递消息,而 Kafka的流式处理能力让你只用很少的代码就能够动态地处理派生流和数据集。

Kafka 的这些独到之处足以让你刮目相看,它不只是“另一个消息队列” 。

Kafka 与大数据系统(如 Hadoop)比较

从另一个角度来看 Kafka,我们会把它看成实时版的 Hadoop一一这也是我们设计和构建Kafka 的原始动机之一 。 Hadoop 可以存储和定期处理大量的数据文件,而 Kafka 可以存储和持续处理大型的数据流。从技术角度来看,它们有着惊人的相似之处,很多人将新兴的流式处理看成批处理的超集。它们之间的最大不同体现在持续的低延迟处理和批处理之间的差异上。 Hadoop 和大数据主要应用在数据分析上,而 Kafka 因其低延迟的特点更适合用在核心的业务应用上。业务事件时刻在发生, Kafka 能够及时对这些事件作出响应,基于Kafka 构建的服务直接为业务运营提供支撑,提升用户体验。

Kafka 与 ETL 工具或其他数据集成工具比较

Kafka 与 ETL 工具或其他数据集成工具之间 也可以进行一番比较。 Kafka 和这些工具都擅长移动数据,但我想它们最大的不同在于 Kafka 颠覆了传统的思维 。 Kafka 并非只是把数据从一个系统拆解出来再塞进另一个系统,它其实是一个面向实时数据流的平台。也就是说,它不仅可以将现有的应用程序和数据系统连接起来,它还能用于加强这些触发相同数据流的应用。我们认为这种以数据流为中心的架构是非常重要的。在某种程度上说,这些数据流是现代数字科技公司的核心,与他们的现金流一样重要。

总之将上述的三个领域聚合在一起,将所有的数据流整合到一起,流平台的Kafka因此变得极具吸引力。

猜你喜欢

转载自blog.csdn.net/u011479200/article/details/88574439