Lambda架构概述

Lambda架构概述大数据Lambda架构概述

大家好,又见面了,我是你们的朋友全栈君。

大数据Lambda架构

Lambda体系架构简介

Lambda体系架构是一种开部署模型,主要用流处理来补充批处理,以解决实时大数据问题。理想情况下,我们扫描整个数据来达到用户的某个查询需求,而实际上访问如此海量的数据必然使得响应过慢。一般公司对可用性的要求比一致性要高,简言之即服务的可用性更为重要。选择高用性而不是一致性必然会导致较弱的一致性级别。写后读可能不会返回预期的响应。如果不进行读取修复,数据可能会一直损坏。而系统性的更新会埋下数据无法恢复的隐患。

为了解决这些问题,Lambda体系结构使用不可变的数据流,并在流计算的组合中利用预计算的批处理视图。不可变地存储数据消除了数据损坏的可能性,然而,不变的数据会导致更复杂的计算。
。Lambda架构为计算查询提供三层架构:批处理层、速度层和服务层。新传入的数据流进批处理层和速度层,服务层通过整合批处理层和速度层来响应用户的查询。

Lambda架构概述

Batch Layer 批处理层

批处理层接收不可变的记录流并把它们持久化到存储系统里(如HDFS),存储层用来保存主数据。任何因为数据状态的改变(更新)都会在持久层里重新计算。同时它也为服务层的视图生成任务。与加速层相比批处理层耗时较多。它能修复加速层的计算缺陷,因为它拥有全量的数据。批处理层定期重新计算视图,并将结果输出到只读存储器。

Speed Layer 加速层

加速层主要负责动态计算实时视图。它能接受一个或多个数据源并从流数据里生成实时视图。一旦计算出视图,加速层将输出到可接受随机写的数据存储系统内。、
通常,在加速层应用流处理器Flink、Storm而Redis和Apache Cassandra适合实时视图的存储。

Serving Layer 服务层

服务层负责整合实时和批处理视图即它通过获取最新的加速层和批处理层数据并做整合最终输出汇聚后的视图。服务层的关键是保证给定查询的响应时间最短,
因此,服务层可以并行化视图的查询。当两个结果都完成时,它可以生成一个聚合视图。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152801.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java copyproperties_java中 BeanUtils.copyProperties的用法

    java copyproperties_java中 BeanUtils.copyProperties的用法BeanUtils提供了对java发射和自省API的包装,这里对BeanUtils.copyProperties的用法做一个小小的介绍。通过函数名可以知道,copyProperties函数是对属性进行拷贝,该函数有两个参数,一个是原始的数据,另一个是接收这些属性的数据。这里给大家介绍一个我遇到的一个坑:在不同的jar包中,该函数的两个参数的位置不一样,有一种是copyProperties(java…

    2022年10月3日
    2
  • 提升进程权限-OpenProcessToken等函数的用法[通俗易懂]

    提升进程权限-OpenProcessToken等函数的用法[通俗易懂]提升进程权限文章一:在枚举/结束系统进程或操作系统服务时,会出现自己权限不足而失败的情况,这时就需要提升自己进程到系统权限,其实提升权限的代码很简单的,看到过的最经典的应该是《WINDOWS核心编程》第四章中操作进程给出的那个函数了,如果我们真的不了解它的操作也不要紧,因为只要在你需要的地方调用下面这个函数就是了,以下是它的代码:BOOLEnablePriv(){HAND

    2022年6月25日
    48
  • java中jbpm工作流_状态机和工作流的区别

    java中jbpm工作流_状态机和工作流的区别1什么是工作流BPM,全称是JavaBusinessProcessManagement(业务流程管理),它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。jBPM是公开源代码项目,使用它要遵循ASL(ApacheLicenseVersion2.0)和EULA(JBossEndUserLicenseAgreement)协议。…

    2025年10月15日
    3
  • spring batch 多个job(spring up)

    第四章配置作业Job4.1基本配置Job的配置有3个必须的属性,name,jobRepository,steps。一个简单的Job配置如下:

    2022年4月15日
    48
  • 如何看apache的版本号

    如何看apache的版本号

    2021年10月8日
    48
  • cmpp20协议对接「建议收藏」

    cmpp20协议对接「建议收藏」最近公司派任务,让完成cmpp20协议的ps模块。这里总结下期间遇到的问题。1、cmpp20的协议里没有report实体,其实report是和deliver在一起的。deliver里有一个字段Registered_Delivery,0代表deliver,1代表report。同时,当deliver代表report时,MessageContent里面是msgid、Stat、Submit_time、Do…

    2025年7月15日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号