加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 云计算 > 正文

云原生技术-从微服务到ServerLess无服务器框架演进思考

发布时间:2022-03-18 18:24:34 所属栏目:云计算 来源:互联网
导读:今天再下从微服务到ServerLess无服务器架构的演进过程方面的话题。对于ServerLess我在前面专门写过一篇文章进行说明,自己也专门申请了腾讯云ServerLess环境做了简单验证和测试。具体可以参考下面这篇文章。 最近1到2年,类似阿里,腾讯,华为各大公有云服务
      今天再下从微服务到ServerLess无服务器架构的演进过程方面的话题。对于ServerLess我在前面专门写过一篇文章进行说明,自己也专门申请了腾讯云ServerLess环境做了简单验证和测试。具体可以参考下面这篇文章。
  
      最近1到2年,类似阿里,腾讯,华为各大公有云服务商对ServerLess架构和解决方案推广力度很大,也看了一些垂直细分场景下ServerLess架构下的成熟应用和实践。但是实际上可以看到这些应用场景主要还是集中在互联网应用中,即使在互联网应用中也是一些相当垂直的场景,比如一些基础服务能力整合,数据采集发送,事件响应场景,物联网垂直应用等。
 
     Serverless是一种构建和管理基于微服务架构的完整流程,允许你在服务部署级别而不是服务器部署级别来管理你的应用部署。它与传统架构的不同之处在于,完全由第三方管理,由事件触发,存在于无状态(Stateless)、暂存(可能只存在于一次调用的过程中)计算容器内。
 
     实际在谈微服务的时候,我们希望的就是整个云平台不断地向上抽象和上移,从IaaS层资源能力提供到PaaS层服务能力提供。
 
     但是实际在应用开发过程中,并没有完全做到对资源层的隔离,比如一些自研的基础组件开发和部署,一些数据库资源部署,我们仍然还在申请类似虚拟机资源,然后自己进行部署和管理。也就是说没有做到完整意义上的对资源层透明。
 
而到了Serverless阶段,那就是必须做到完整意义上的服务化,你能够看到和使用的只能够是通过API网关暴露给你的API接口服务能力,对于资源层可以做到彻底意义上的不关心。
 
所以对于Serverless无服务器化这个词,无服务器化可以理解为无资源化,即你不直接面对资源层,你面对的都是服务能力,去订购和消费使用API服务能力。
  
对于Serverless可以理解为微服务的进一步拆分,即将微服务实现的各个能力全部拆分和解耦,每一个服务能力变成无状态的API接口能力,这些API接口能力就是一个个的可以通过脚本来实现的云函数,构成了Serverless架构中的FaaS层。
  
除了前面谈到的有一个共性的技术框架依赖外,另外一个关键点就是各个方法和函数之间的调用往往存在状态,需要做类似会话保持等相关动作。
 
一旦方法间存在状态,那么实际每一个方法或函数功能的实现就无法做到完全的自我管理,这个不论在前期部署,后续的弹性伸缩,高可用等各种场景中你都需要去考虑状态保持的问题,那么整体架构又变得复杂。
 
因此在Serverless不断在强调事件驱动,强调无状态,强调任何一个接口调完就结束,这个结束不仅仅是不保留状态,包括承载FaaS函数实现的轻量无状态容器也可以做到快速的销毁。
 
所以你也可以看到无状态化是实现Serverless能够按调用次数进行计费的一个关键。要实现这个按次计费就必须做到资源层的快速启动,创建,快速的扩展,销毁等各种能力。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读