为什么说新一代流处理器Flink是第三代流处理器(论点:发展历史、区别、适用场景)

这篇具有很好参考价值的文章主要介绍了为什么说新一代流处理器Flink是第三代流处理器(论点:发展历史、区别、适用场景)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

       Flink 被认为是第三代流处理器,这是因为 Flink 在设计时参考了前两代流处理器的经验教训并引入了一些新的技术和思想,从而使得 Flink 具有更高的性能和更广泛的应用场景。下面我带大家了解一下流处理器从第一代到第三代的发展历史。

       对于有状态的流处理,当数据越来越多时,我们必须用分布式的集群架构来获取更大的吞
吐量。但是分布式架构会带来另一个问题:怎样保证数据处理的顺序是正确的呢?带着疑问往下看

流处理器发展历史

       流处理器的发展历史可以大致分为三个阶段:第一代流处理器、第二代流处理器和第三代流处理器。

  1. 第一代流处理器

       第一代流处理器出现在2010年左右,最早的代表是 Twitter 的实时数据处理框架 StormStorm 采用了分布式消息传递模型,并将数据流分为多个数据流进行处理。Storm 的设计初衷是为了处理实时数据流,具有高性能和可靠性,但它的扩展性和灵活性较差,容易出现数据丢失和重复处理的问题。以 Storm 为代表的第一代分布式开源流处理器,主要专注于具有毫秒延迟的事件处理,特点就是一个字“快”;而对于准确性和结果的一致性,是不提供内置支持的,因为结果有可能取决于到达事件的时间和顺序。另外,第一代流处理器通过检查点来保证容错性,但是故障恢复的时候,即使事件不会丢失,也有可能被重复处理——所以无法保证 exactly-once

  1. 第二代流处理器

       第二代流处理器出现在2013年左右,最早的代表是基于 Apache SparkSpark Streaming。与 Storm 不同,Spark Streaming 采用了微批处理模型,即将数据流划分为微批次进行处理。Spark Streaming 的设计思想是利用 Spark 的批处理能力,将流数据转化为批数据,从而实现实时处理。这种处理方式具有更好的容错性和扩展性,但是会导致较高的延迟和内存占用。

  1. 第三代流处理器

       第三代流处理器出现在2014年左右,最早的代表是 Apache Flink。与前两代不同,Flink 采用了基于事件的处理模型,即每个事件在到达时立即被处理。这种处理方式具有更低的延迟和更高的吞吐量,并且可以自动保存和恢复状态,保证数据不会丢失。此外,Flink 的扩展性也比较好,可以根据数据量的变化自动调整并行度,同时还支持多种数据源和数据格式的处理。

Storm、Spark 和 Flink区别

StormSparkFlink 都是流处理框架,但它们有一些不同之处:

  • 状态管理和容错机制

       Storm 的状态管理和容错机制相对较为简单,不够灵活,容易导致数据丢失或重复处理。Spark Streaming 的状态管理和容错机制相对较好,但是需要将数据缓存到内存中,导致内存占用较高,不适合处理大规模数据。而 Flink 的状态管理和容错机制则更加灵活和可靠,能够自动保存和恢复状态,保证数据不会丢失。

  • 扩展性和灵活性

       Storm 的扩展性和灵活性相对较差,无法自动调整并行度以适应数据量变化。Spark Streaming 的扩展性和灵活性比Storm更好,但是微批处理方式会导致较高的延迟和内存占用。而 Flink 的扩展性和灵活性则更好,能够根据数据量的变化自动调整并行度,同时还支持多种数据源和数据格式的处理。

  • 生态系统

SparkFlink都有丰富的生态系统,支持多种数据处理和机器学习任务。而 Storm 的生态系统相对较为单一,主要用于实时数据流处理。

       综上所述,Storm、Spark 和 Flink 都有各自的优点和不足,选择合适的流处理框架需要根据具体的业务需求和数据规模来考虑。

Storm、Spark 和 Flink 各自的适用场景

Storm

Storm 是一个轻量级、高吞吐量的实时计算框架,适用于对实时性要求比较高、数据处理逻辑简单的场景,例如:

  • 实时数据流监控和告警
  • 实时数据流的聚合、过滤、转换等简单处理
  • 数据流的实时计算、统计和分析等简单场景

Spark

Spark Streaming 是一个流处理框架,它通过微批处理的方式,将流数据转换为小批量的RDD,然后利用Spark的批处理引擎进行处理。因此,Spark适用于:

  • 数据量较大、数据处理逻辑较复杂的场景
  • 对延迟要求不是很高,但是对数据准确性和容错性有要求的场景
  • 对流数据进行机器学习、图形处理等复杂计算的场景

Flink

Flink 是一个支持事件驱动处理的流处理框架,适用于:文章来源地址https://www.toymoban.com/news/detail-778430.html

  • 需要低延迟的实时数据处理场景,特别是对延迟要求非常高的场景
  • 数据处理逻辑较为复杂的场景,例如机器学习、模式识别、图形计算等
  • 对数据准确性、容错性要求比较高的场景,例如金融行业、电信行业等。

到了这里,关于为什么说新一代流处理器Flink是第三代流处理器(论点:发展历史、区别、适用场景)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 云计算:新一代的技术革命

    云计算,作为21世纪的一项重要技术革命,已在全球范围内引发了深远的影响。它改变了我们存储和处理数据的方式,使得企业无需再建设和维护昂贵的本地服务器和数据中心。本文将深入探讨云计算的基本概念,类型,主要优点,以及它在未来可能的发展趋势。 云计算的基

    2024年02月12日
    浏览(48)
  • No.14新一代信息技术

    新一代信息技术产业包括:加快建设宽带、泛在、融合、安全的信息忘了基础设施,推动新一代移动通信、下一代互联网核心设备和智能终端的研发及产业化,加快推进三网融合,促进物联网、云计算的研发和示范应用。 大数据、云计算、互联网+、物联网、智慧城市等是新

    2024年02月09日
    浏览(44)
  • 新一代硬件安全:第一章-简介

    Chapter 1 Introduction 1.1 Fundamentals of Hardware Security In our modern age of omnipresent and highly interconnected information technology, cybersecurity becomes ever more challenged. For example, with the rise of the Internet of Things (IoT), most such equipment is connected to the internet in some way, often inscrutable to the regular customers. This f

    2024年02月12日
    浏览(53)
  • 新一代通信协议 - Socket.D

    一、简介 Socket.D 是一种二进制字节流传输协议,位于 OSI 模型中的5~6层,底层可以依赖 TCP、UDP、KCP、WebSocket 等传输层协议。由 Noear 开发。支持异步流处理。其开发背后的动机是用开销更少的协议取代超文本传输协议(HTTP),HTTP 协议对于许多任务(如微服务通信)来说效率低下。

    2024年01月20日
    浏览(58)
  • Flink CDC 新一代数据集成框架

    前言: 主要讲解了技术原理,入门与生产实践,主要功能:全增量一体化数据集成、实时数据入库入仓、最详细的教程。Flink CDC 是Apache Flink的一个重要组件,主要使用了CDC技术从各种数据库中获取变更流并接入到Flink中,Apache Flink作为一款非常优秀的流处理引擎,其SQL API又

    2024年02月13日
    浏览(58)
  • 字节跳动新一代云原生消息队列实践

    作者:火山引擎云原生计算研发工程师|雷丽媛 上文我们了解了在字节跳动内部业务快速增长的推动下,经典消息队列 Kafka 的劣势开始逐渐暴露,在弹性、规模、成本及运维方面都无法满足业务需求。因此字节消息队列团队研发了计算存储分离的 云原生 消息引擎 BMQ ,在极

    2024年02月20日
    浏览(63)
  • 新一代自动化测试神器Playwright

    转载请注明出处❤️ 作者:测试蔡坨坨 原文链接:caituotuo.top/4bedb73c.html 你好,我是测试蔡坨坨。 说到WebUI自动化测试,首当其冲的当属Selenium,在很长的一段时间内,Selenium统治着Web自动化,Selenium其实经历了四个阶段,从2006年发布的Selenium 1.0到最新的Selenium 4.8.3。 2006年,

    2023年04月15日
    浏览(58)
  • WRITE-BUG - 新一代数字空间

      WRITE-BUG创建于2019年,创始团队主要来自于清华大学、中国人民大学等国内高校学生。运营至今,已累积100000+注册用户,91%是18-24岁在校大学生,覆盖国内绝大部分高校;用户平均月留存近达45%,直接访问比例高达75%;现有优质内容约40000+份,累计为10000+份源码进行代码质量

    2024年02月11日
    浏览(36)
  • SpringCloud LoadBalancer 新一代负载均衡器

    工作中使用 OpenFeign 进行跨服务调用,最近发现线上经常会遇到请求失败。 通过排查我们发现不是接口超时,而是有时候会请求到已经下线的服务导致报错。这多发生在服务提供者系统部署的时候,因为系统部署的时候会调用 Spring 容器 的 shutdown() 方法, Eureka Server 那里能够

    2023年04月22日
    浏览(47)
  • 强大易用!新一代爬虫利器 Playwright 的介绍

    Playwright 是微软在 2020 年初开源的新一代自动化测试工具,它的功能类似于 Selenium、Pyppeteer 等,都可以驱动浏览器进行各种自动化操作。它的功能也非常强大,对市面上的主流浏览器都提供了支持,API 功能简洁又强大。虽然诞生比较晚,但是现在发展得非常火热。 因为 Pla

    2024年04月12日
    浏览(76)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包