0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

稳健的无服务器架构的实现

汽车玩家 来源:今日头条 作者:闻数起舞 2020-05-03 18:26 次阅读

如果设计不当,一切都会有怪癖

无服务器是业界最新的流行语之一-但是,就像技术上的任何事物一样,如果设置不正确,您的开发投资可能像纸牌屋一样崩溃。

现在,所有主要的云播放器都提供某种无服务器架构支持-带有Lambda的AWS,带有云功能的Google和带有Azure功能的Microsoft。 还设计和创建了开源的免费Serverless框架,以帮助开发人员自动化其流程并创建更好的无服务器代码。

无服务器背后的理由是,它是事件驱动的,具有自动扩展的能力,而无需基础架构的设置或干预。 但是,人们经常问的一个问题是:健壮的无服务器架构是什么样的?

整合,隔离和事件驱动

很容易陷入为任何可能的事情编写函数的陷阱。 对于无服务器,很容易启动执行工作的功能。 可以通过自动计时作业激活该作业,可以通过网关,数据更改和代码管道活动来触发该作业。

尽管这对于孤立的案例来说听起来很棒,但是在无服务器环境中的大型应用程序要求架构师将整个预期事件和设计功能视为一个模块化网络

在某种程度上,以无服务器方式构建应用程序是一种解构的软件开发方法。 它可以部分启动而无需依赖,并提供快速的问题解决方案。

健壮的无服务器架构强制执行一定的代码压缩和模块化,以最大程度地减少相互依赖性。 它的无状态性使功能彼此断开,并且持久性数据源成为真实性的唯一空间。

如果发生故障,链接功能会导致串行多米诺骨牌效应。 对功能之间的关系采用并行方法可减轻这种风险。

看下面的图,例如:

稳健的无服务器架构的实现

Serial serverless approach

上面的流程是默认的,我们中的一些人在创建无服务器代码时可能会陷入其中。 这是因为在传统的依赖注入模型中,一个函数触发另一个函数很容易想到。 如果要求合理,我们可以递归进行。 但是,当将其应用于无服务器应用程序时,流程中断最终会导致没有应急计划的结果中断。

这是因为串行方法不能满足每个功能真正独立的需要。 上述方法的触发器是调用另一个的无服务器功能,这意味着它有可能沿管道传递数据而无需验证或进行适当的状态管理。

看下图。 它具有相同的三个无服务器功能,但它们通过有状态触发器相互连接。

稳健的无服务器架构的实现

Parallel Serverless approach

这种方法可能看起来更复杂,但是如果您查看潜在的断点在哪里,它们是基于触发器而不是函数。

实施递归时,触发器基于持久性内容,而不是可能会丢失输出的临时空间。

该体系结构还允许运行多个代码。 无服务器及其相关的无表数据存储很便宜。 在某种程度上,这是因为它的初始设计是为了大量使用。

虽然第一个图一次运行一个功能以触发另一个功能,因此似乎使用了较少的计算能力,但第二个图允许两个功能以隔离的方式运行,但仍通过数据触发器保持连接。

对于健壮的无服务器架构,代码的结构取决于开发人员为更大的视图创建隔离的解决方案的能力。 该代码本质上通常是功能性的,因为可重用性取决于其处理数据的能力而无需基于类的蓝图。

针对大型软件的健壮的无服务器架构会考虑潜在的中断和可能丢失数据的位置。 通过围绕永久性集中触发器,它解决了此问题,并降低了由于无服务器的短暂性而导致的风险。

功能并行是可用于健壮的无服务器体系结构的体系结构方法之一。 关于触发器,实现永久性是数据保护和验证的一种好习惯。 这也是处理无服务器预期的无状态性的一种方法。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Google
    +关注

    关注

    5

    文章

    1699

    浏览量

    56754
  • 无服务器
    +关注

    关注

    0

    文章

    16

    浏览量

    4021
收藏 人收藏

    评论

    相关推荐

    服务器远程不上服务器怎么办?服务器无法远程的原因是什么?

    运营商。 2.服务器网络问题 解决办法:通过路由图来确定是哪里的线路出现丢包,联系服务器商切换线路。 二、服务器问题 服务器带宽跑满、服务器
    发表于 02-27 16:21

    linux服务器和windows服务器

    Linux服务器和Windows服务器是目前应用最广泛的两种服务器操作系统。两者各有优劣,也适用于不同的应用场景。本文将 对Linux服务器和Windows
    发表于 02-22 15:46

    分布式节点服务器是什么?

    分布式节点服务器是一种将多个服务器分布式连接、协同工作,以实现负载均衡、提高系统性能和可靠性、提供高可用性的服务器架构。 具体来说,分布式节
    的头像 发表于 01-12 15:04 291次阅读
    分布式节点<b class='flag-5'>服务器</b>是什么?

    串口服务器如何使用OneNET平台MQTT服务器通讯教程 #MQTT #串口服务器 #OneNET平台

    串口服务器
    亿佰特物联网应用专家
    发布于 :2023年10月26日 15:47:36

    ESP8266可作为Web服务器吗?怎么实现

    ESP8266可作为Web服务器吗怎么实现
    发表于 10-24 08:17

    集群服务器和站群服务器一样吗?

    集群服务器和站群服务器是用于提高系统可用性、性能和扩展性的不同架构方法。那么集群服务器和站群服务器一样吗?答案是它们在设计、工作原理和用途方
    的头像 发表于 09-05 17:35 313次阅读

    pc服务器服务器的区别是什么

    按上图指令架构分类,服务器可以分为: CISC复杂指令集 CISC服务器也称为 x86服务器,目前比较主流。主要是采用Intel、AMD处理器芯片。 iRISC精简指令集 RI
    发表于 08-25 09:48 1010次阅读
    pc<b class='flag-5'>服务器</b>和<b class='flag-5'>服务器</b>的区别是什么

    干货丨云耀云服务器 L 实例需要配置升级教程

    转换为整机镜像,通过整机镜像创建新的高规格云服务器,来帮您实现云耀云服务器 L 实例的配置升级。 方案架构 该解决方案基于华为云云备份服务
    的头像 发表于 08-22 21:29 453次阅读
    干货丨云耀云<b class='flag-5'>服务器</b> L 实例需要配置升级教程

    ARM服务器基础系统体系结构7.1平台设计文档

    服务器基本系统架构嵌入了功能级别的概念。每个级别都在前一级别之上添加了功能。除非明确说明,属于N级的所有规格项均适用于大于N的级。 一个标高的所有视图都需要实现以符合该标高。 SBSA合规性
    发表于 08-09 07:49

    什么是服务器虚拟化?私人云服务器

    什么是 服务器虚拟化 ? 服务器虚拟化是一种将物理服务器转化为虚拟服务器的过程,使得多个虚拟服务器可以在同一台物理
    的头像 发表于 08-08 10:44 804次阅读

    VPS和云服务器有哪些区别

    虚拟服务器提供给不同的用户使用。而云服务器则是建立在分布式架构之上,由多台物理服务器组成的集群提供服务,具有更高的可靠性和可扩展性。 2、
    的头像 发表于 08-01 21:43 506次阅读

    网络云存储服务器,数据库服务器|PetaExpress

    云存储服务器是什么? 云存储服务器是一种在线存储(英语:Cloud storage)该模式是将数据存储在通常由第三方托管的多个虚拟服务器上,而不是独家服务器上。 云存储
    的头像 发表于 07-27 14:43 330次阅读

    什么是服务器指令?

    服务器
    YS YYDS
    发布于 :2023年06月23日 01:02:04

    服务器与PC机的比较

          第1章、什么是服务器 服务器的逻辑架构仍然遵循冯·诺依曼架构,主要包含:处理器(CPU、GPU、DPU等)、存储器、I/O接口,以及SSD、BMC、PCIe插槽、主板、电源
    的头像 发表于 06-17 14:51 520次阅读
    <b class='flag-5'>服务器</b>与PC机的比较

    服务器与普通服务器有哪些区别?

    购买硬件,即可迅速创建或释放任意多台云服务器,一切计算均在云端实现,降低开发运维的难度和整体IT成本。 普通服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,费用
    的头像 发表于 04-17 12:33 2533次阅读