软考 系统架构设计师系列知识点之云原生架构设计理论与实践(16)

接前一篇文章:软考 系统架构设计师系列知识点之云原生架构设计理论与实践(15)

所属章节:

第14章. 云原生架构设计理论与实践

          第3节 云原生架构相关技术

14.3.3 无服务器技术

1. 技术特点

2. 技术关注点

(1)计算资源弹性调度

为了实现精准、实时的实例伸缩和放置,必须把应用负载的特征作为资源调度依据,使用“白盒”调度策略,由Serverless平台负责管理应用所需的计算资源。平台要能够识别应用特征,在负载快速上升时,及时扩容计算资源,保证应用性能稳定;在负载下降时,及时回收计算资源,加快资源在不同租户函数间的流转,提高数据中心利用率。因此更实时、更主动、更智能的弹性伸缩能力是函数计算服务获得良好用户体验的关键。通过计算资源的弹性调度,帮助用户完成指标收集、在线决策、离线分析、决策优化的闭环。在创建新实例时,系统需要判断如何将应用实例放置在下层计算节点上。放置算法应当满足如下多方面的目标:

1)容错

当有多个实例时,将其分布在不同的计算节点和可用区上,提高应用的可用性。

2)资源利用率

在不损失性能的前提下,将计算密集型、I/O密集型等应用调度到相同计算节点上,尽可能充分利用节点的计算、存储和网络资源。动态迁移不同节点上的碎片化实例,进行“碎片整理”,提高资源利用率。

3)性能

例如复用启动过相同应用实例或函数的节点、利用缓存数据加速应用的启动时间。

4)数据驱动

除了在线调度,系统还将天、周或者更大时间范围的数据用于离线分析。离线分析的目的是利用全量数据验证在线调度算法的效果,为参数调优提供依据,通过数据驱动的方式加快资源流转速度,提高集群整体资源利用率。

(2)负载均衡和流控

资源调度服务是Serverless系统的关键链路。为了支撑每秒近百万次的资源调度请求,系统需要对资源调度服务的负载进行分片,横向扩展到多台机器上,避免单点瓶颈。分片管理器通过监控整个集群的分片和服务器负载情况,执行分片的迁移、分裂、合并操作,从而实现集群处理能力的横向扩展和负载均衡。在多租户环境下,流量隔离控制是保证服务质量的关键。由于用户是按实际使用的资源付费,因此计算资源要通过被不同用户的不同应用共享来降低系统成本。这就需要系统具备出色的隔离能力,避免应用相互干扰。

(3)安全性

Serverless计算平台的定位是通用计算服务,要能执行任意用户代码,因此安全是不可逾越的底线。系统应从权限管理、网络安全、数据安全、运行时安全等各个维度全面保障应用的安全性。轻量安全容器等新的虚拟化技术实现了更小的资源隔离粒度、更快的启动速度、更小的系统开销,是数据中心的资源使用变得更加细粒度和动态化,从而更充分地利用碎片化资源。

至此,“14.3.3 无服务器技术”的全部内容就讲解完了。更多内容请看下回。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-09 11:12:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-09 11:12:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-09 11:12:04       82 阅读
  4. Python语言-面向对象

    2024-04-09 11:12:04       91 阅读

热门阅读

  1. Github 2024-04-08开源项目日报 Top10

    2024-04-09 11:12:04       41 阅读
  2. ubuntu 14.04 配置samba共享服务

    2024-04-09 11:12:04       38 阅读
  3. 计算机网络(一)--网络发展和协议

    2024-04-09 11:12:04       37 阅读
  4. 初识23种设计模式:分类、原理与实际应用

    2024-04-09 11:12:04       35 阅读
  5. 起飞前的准备:轻松搭建VSCode与Python开发环境

    2024-04-09 11:12:04       34 阅读