008 云原生之 Serverless 架构
Serverless 是一种新型的云计算运行模式,是指由云平台提供应用运行时需要的服务器,并且动态管理应用运行时需要的资源分配。Serverless 的定价基于应用程序实际消耗的资源量,无须用户提前购买计算资源,因此对计算资源的利用更有效。Serverless 可以简化代码实现应用替换和升级的部署工作,而且开发者不需要关心环境配置、容量规划和运维操作等。
无状态应用架构是指服务请求和所在的服务器完全无关,即便请求涉及数据相关的逻辑,也是从外部获取(比如说数据库),服务器本身不存储任何信息。而有状态应用架构中请求和对应的服务器是相关的,如请求涉及的数据就保存在服务器上、用户的会话数据就保存在服务器的内存中,或者多个请求相互关联时就将中间状态保存在服务器的内存或持久化存储中。
在云原生架构中,应用可以将有状态部分委托给云,应用本身聚焦在计算部分,以解决分布式复杂性问题。常见的有状态部分包括会话数据、信息、各类文件、业务基础数据(如产品、地址库等)、业务配置参数、计算中间状态等。
无状态应用架构具备失败后快速迁移的特点。无状态应用架构不用做长时间的应用初始化。新启动的无状态应用架构可以快速投入生产,减少容器调度过程中的不可用时间。
针对计算存储分离模式,云厂商提供了完备的存储方案。简单的存储方案如 KV、分布式缓存、文件存储等,复杂的存储方案如文件系统挂载、块服务,这些存储方案同时解决了海量存储、数据备份等问题,可以很好地帮助我们实现计算和存储分离,实现无状态的架构设计。
版权声明: 本文为 InfoQ 作者【穿过生命散发芬芳】的原创文章。
原文链接:【http://xie.infoq.cn/article/fd14f84f68885219264e6e970】。文章转载请联系作者。
评论