阿里云ACA云原生助理工程师认证50道真题,附部分答案和扩展

2021/11/6 23:46:38

本文主要是介绍阿里云ACA云原生助理工程师认证50道真题,附部分答案和扩展,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1

在这里插入图片描述
AHAS架构感知:
● 使用特征库泛识别进程所使用的技术组件
● 以可视化的方式呈现应用对基础架构的依赖关系
● 在服务器,容器和进程三个维度上以可视化的方式展示应用架构


扩展

什么是AHAS

一款专注于提高应用高可用能力的SaaS产品

AHAS应用防护

● 以流量为切入点,从流量控制 熔断降级 系统负载保护等多个维度来保障业务的稳定性

服务方或消费方流控

● 从服务提供方或者消费服务方进行流量控制

强依赖隔离和弱依赖隔离

● 强依赖:依赖服务出错影响整体流程
● 弱依赖:依赖服务出错不会影响整体流程

流量防护

匀速请求实现同步调用的削峰填谷

通过流量塑峰实现冷系统预热启动

● 给冷系统一个预热事件,避免系统被压垮

架构感知

架构感知常用视图
● 云资源试图
● 应用试图
● Kubernetes资源视图
● 风险视图

故障演练

和其他服务(基础设置 容器服务 应用服务 云资源)一起,构成高可用保障服务

故障演练流程-四个阶段

● 安装探针
● 创建探针
● 执行演练
● 停止演练

功能开关

动态管理代码中的配置项

操作流程

● 步骤一:在代码中增加核心业务开关,植入埋点和业务逻辑
● 步骤二:在AHAS控制台功能开关中查看业务开关的信息和值分布
● 步骤三:在AHAS控制台开关中将此开关的推送值设为true
● 步骤四:在控制台上修改配置项,推送成功后,业务代码里会实时生效
代码中此开关变量值为true,表示可动态实时的通过功能开关控制业务逻辑



2

在这里插入图片描述
ARMS(Application Real-Time Monitoring Service)
一款阿里云应用性能管理(APM)类监控产品
可以基于前端 应用 业务自定义等维度,迅速便捷地为企业构建秒级响应的业务监控功能


扩展

APM是什么

APM(Application Performance Management 应用性能管理系统)
运用在分布式系统和微服务架构的应用,是一个可以实时监控的实时业务监控框架

五个维度

● 用户体验
● 应用组件发现与建模
● 用户定制及多段交易关联
● 应用组件深入监控
● 应用性能分析:自学习 动态基线及性能预测

ARMS还能做什么

用户应该关心什么

● 数据从哪来
● 实时计算流程怎么编排
● 数据该怎么用

ARMS功能

ARMS监控种类

在这里插入图片描述

ARMS典型应用场景

● Java应用监控和诊断方案
● 用户体验监控场景
● 零售行业实时监控方案
● 车联网实时监控方案



3

在这里插入图片描述
● 缓存

	○ 待定...

● 限流

   ○ 指当前端流量超过限流器设定的阈值时,限流器直接返回错误,避免后端服务被压垮

● 熔断降级

	 ○ 熔断
   		 ■ 当服务调用请求后端应用时,发现过高失败率或响应时间过长,则暂时切断对下游服务器的调用,以免加重下游服务器的压力
  	○ 降级
    	■ 当服务调用者请求后端应用失败,或后端应用不稳定时,并不是简单的充实,等待或直接返回错误,而是寻求一种低水平的替代方案进行处理

● 削峰填谷

	    ■ 把骤增的大量同步请求匀速分配
	    ■ 以固定的间隔时间让请求通过,起到削峰填谷的效果
	    ■ 从而避免流量骤增造成系统负载过高的情况 

在这里插入图片描述



4

在这里插入图片描述
在这里插入图片描述

扩展

DevOps基础概念

集组织文化 团队协作 工程实践和工具为一身的工作方式

核心组成部分

● 组织架构与企业文化
● 自动化流水线
● DevOps工具集链

DevOps自动化工作流水线

在这里插入图片描述
● 持续集成
● 持续交付
● 持续部署

DevOps技术生态工具链

● 需求管理
● 项目管理
● 代码管理
● 构建工具
● 持续集成
● 持续部署
● 自动化发布
● 配置管理
● 运营监控
● 容器及容器编排

云原生时代企业DevOps诉求

● 质量防控
● 效率提升
● 数据度量
● 研发资产沉淀
● 研发模式多样化
● 平台的融合

企业DevOps落地推进最佳策略

● 平台化
● 标准化
● 自动化
● 可视化

企业一站式DevOps平台-阿里云企业云效平台

一站式生命周期管理

● 项目协同

  ○ 精益及敏捷需求管理
  ○ 精益及敏捷交付协作
  ○ 精益及敏捷质量管理

● 代码平台

  ○ 代码提交
  ○ 代码扫描
  ○ 代码评审
  ○ 分支合并

● 流水线

  ○ 版本构建
  ○ 软件部署
  ○ 测试验证
  ○ 版本发布

● 知识库管理

  ○ 产品文档
  ○ 技术文档
  ○ 会议纪要
  ○ 总结沉淀
  ○ 知识分享

小微企业扶持计划-29

在这里插入图片描述

云效平台六大产品

● 云效项目协作

 ○ 敏捷需求管理
  ○ 研发排期与过程跟踪
  ○ 研发效能反馈

● 云效代码管理

  ○ 核心功能
	    ■ 阿里巴巴Java开发规约,代码补丁智能推荐,敏感信息监测,依赖包漏洞监测
	    ■ 多种代码评审机制
  ○ 代码安全
  ○ 通用协作方案

● 云效流水线

  ○ 概念
    ■ 研发交付流水线,市持续交付的载体
    ■ 构建自动化 集成自动化 验证自动化 部署自动化 
  ○ 什么市流水线
    ■ 自定义流程编排的工具
    ■ 通过构建 部署 测试 管控等组件化能力,把开发到交付的各项工作串联起来
    ■ 分为持续集成 持续发布
  ○ 持续交付流程
    ■ 编译构建
    ■ 开发验证
    ■ SIT验证
    ■ 预发验证
    ■ 上线审核
    ■ 生产发布

● 云效制品仓库

  ○ 制品仓库概念
    ■ 制品市软件交付的成果性产物,通常是可运行的二进制形式
    ■ 制品仓库又称为二进制制品仓库
    ■ 制品库在开发阶段为使用各种开发语言的微服务开发者提供依赖解析的唯一入口
  ○ 什么是云效制品仓库
    ■ 提供基于Maven Gradle Helm等软件包管理工具的企业级私有仓库服务
    ■ 用于康企业级依赖托管
    ■ 支持Maven制品和Helm charts制品
    ■ .....

● 云效测试管理

  ○ 什么是云效测试管理
    ■ 包含对测试计划与执行用例的创建 编辑 规划与关联等功能
    ■ 将测试计划与需求和缺陷一起进行管理
  ○ 云效测试管理的功能
    ■ 测试用例
    ■ 测试计划
    ■ 缺陷管理
    ■ 数据统计
  ○ 自动化最佳实践
    ■ 测试自动化用例存储在云效代码平台的git仓库中
    ■ 用于执行测试自动化的测试步骤,基于云效 的自定义step能力创建
    ■ 触发和串联代码 构建和自动化测试的云效流水线
    ■ 通知机制(钉钉消息)
    ■ 针对质量情况的数据报表(可以直接显示在流水线测试结果中,也可以将数据发送给自建的数据报表服务展示)

● 云效知识库

  ○ 企业知识管理系统


5

在这里插入图片描述
混沌工程:
● 在分布式系统上进行实验的学科
● 目的是建立对系统抵御生产环境中失控条件的能力以及信心



6

在这里插入图片描述
Rocket.MQ : 自研 商用 开源 三位一体的消息队列中间件

扩展

阿里云消息队列MQ家族

● 消息队列RocketMQ 阿里巴巴自研
● 消息队列RabbitMQ 支持RabbitMQ生态
● 消息队列Kafka
● 微消息队列MQTT
● 消息服务MNS 聚焦云产品生态集成 & 消息通知服务
● 事件总线EventBridge 提供中心化事件服务能力

自研 商用 开源 三位一体的消息队列中间件

在这里插入图片描述

消息队列的使用场景

● 实现分布式业务的最终一致性

	  ○ 强一致性
	    ■ 当更新操作完成所有数据立刻更新,根据CAP理论,需要牺牲可用性
	  ○ 最终一致性
	    ■ 所有的数据副本,在经过一段时间的同步之后,最终都能够完成更新,可满足高可用

在这里插入图片描述

	○ 交易系统 支付红包等场景需要确保数据的最终一致性

● 实现计算和分布式缓存
在这里插入图片描述



7

在这里插入图片描述消息轨迹查询内容
● 消息发送信息
● 消息到达信息
● 消息投递信息
● 消息消费信息


扩展

消息队列主要功能

● 发送方式
● 订阅方式
● 接入协议
● 高级功能

RocketMQ组成

● Name Server

  ○ Broker服务集群的注册中心

● Broker

  ○ 消息实际的接受转发服务模块

● 生产者,消费者

  ○ 服务模块的外部调用者

发布/订阅模型简介

RocketMQ消息类型

● 普通消息
● 定时/延时消息
● 顺序消息
● 事务消息

全局顺序

● 该模式的Topic中,所有的消息严格按照FIFO原则进行消息发布和消费
● 适用于金融下单等场景
● 吞吐率不高

分区顺序消息模式

● 为每个消息设定一个sharding key作为分区字段
● 同一个sharding key的消息严格的按照FIFO原则进行消息发布和消费的场景
● 不同的sharding key可以交叉处理
● 该模式吞吐量高,适合企业场景

RocketMQ三种发送方式

● 可靠同步发送
● 可靠异步发送
● 单向发送

三种方式对比

速度:单向发送 》 异步同步
可靠性:异步同步》单项发送
在保证可靠性的同时,复杂模型发送速度:异步》同步》单项

两种模式

集群消费模式

● 适用于消费端集群化部署,每条消息只需被处理一次的场景
● 消费进度在服务端维护,可靠性更高

广播消息模式

● 适合于消费端集群化部署,每条消息都需要被集群下的每个消费者处理的场景

消息重试

● 实现消息队列可靠性和事务最终一致性的重要保证
● 消息生产者发送成功的消息,都会被持久保存
● 如果消息消费者消费失败,会在固定的时间重试
● 重试16次不成功的消息会进入死信队列,由开发者手动处理

多协议接入

● TCP 功能完整 吞吐量高
● HTTP 支持restful风格HTTP协议手法信息 功能受限
● MQTT,其中MQTT协议作为消息队列的MQTT



8

在这里插入图片描述
云原生是种架构模式及软件开发的新的思想理念
● 基本概念

  ○ 云原生是基于微服务原理而开发的应用,以容器方式打包,在运行时,容器由开发于云基础设置(PaaS或叫做云操作系统)之上的平台进行调度,应用开发采用持续交付和DevOps实践

扩展

云原生的三大关键技术

● 容器
● 微服务
● DevOps

云原生和云计算的关系

● 云原生是随着云计算概念的细化和思想升华,我们可以把云原生时代定义为云计算2.0

云原生的核心技术

● 容器技术
● 容器编排技术
● 云原生微服务架构
● 云原生中间件
● Serverless无服务架构
● DevOps开发运营一体化

阿里云原生产品体系的“五个最”

● 最丰富的云原生产品体系
● 最全面云原生开源贡献
● 最广泛的云原生客户群体
● 最大规模云原生应用实践
● 最高等级全球云原生评测

云原生架构模式

云原生架构相比传统架构进了一大步,将业务代码中的大量功能性特性剥离到Iaas和Paas中,从而减少了业务代码开发人员的技术关注范围,开发人员关注代码,底层通过专业性平台提升应用的服务能力

云原生六大核心技术

容器技术-为应用而生

● 敏捷性
● 资源弹性
● 可移植性

容器编排技术-Kubernetes容器编排的事实标准

容器编排核心价值

● 容器部署与管理
● 容器网络自动化管理
● 容器弹性伸缩
● 支撑容器微服务架构
● 自动化CI/CD(持续集成)
● 容器安全管理

Serverless

无服务器,开发者无需关注服务器的问题,通过第三方后端提供计算服务
● Serverless架构

  ○ Backend as a Service(BaaS) 后端即服务
  ○ Functions as a Service(Faas) 函数即服务

阿里巴巴对云原生的定义

● 云原生是一条使用户能:低心智负担,敏捷的 以可扩展 可复制的方式 最大的利用云的能力,发挥云的价值的最佳路径

云原生的定义

在这里插入图片描述



9

在这里插入图片描述
定时/延时消息



10

在这里插入图片描述
二进制



11

在这里插入图片描述

自动化部署



12

在这里插入图片描述
ACK Pro版集群适用场景
● 互联网企业
● 大数据计算企业
● 开展中国业务的海外企业
● 金融企业

不适合个人用户


扩展

ACK Pro版集群和标准版集群的对比详情

在这里插入图片描述
ACK Pro最大支持5000个节点

ACK Pro特点

● 可靠性强化集群

  ○ 更可靠的托管Master节点,API Server自动弹性,保障集群平滑过渡扩容

● 安全性强化集群
● 调度性强化集群

  ○ 集成更强调度性能的kube-scheduler
  ○ 优化在大规模数据计算,高性能数据处理等业务场景下的容器调度能力

什么是ACK

Kubernates阿里云容器版,基于k8s的增强
● 基于Kubernetes 云原生技术
● 整合阿里云虚拟化 存储 网络和安全能力
● 提高高性能可伸缩的容器应用管理能力
● 简化集群的搭建和扩容等工作

核心功能

● 集群管理

  ○ 集群形态:ACK /  ACK Pro / ASK
  ○ 支持垂直伸缩 水平伸缩等多种扩容方式
  ○ 支持多云 混合云 多集群管理
  ○ 支持RAM授权和RBAC权限管理

● 应用管理:一站式容器生命周期管理

  ○ 支持灰度发布和蓝绿发布
  ○ 支持手动伸缩应用容器实例,HPA自动伸缩策略
  ○ 节点亲和性调度 应用间亲和性调度和反亲和性调度

● 存储和网络
● 运维和安全
● 弹性伸缩

  ○ 两个维度
    ■ 调度层弹性
      ● 组件
        ○ 容器水平伸缩(HPA)
        ○ 容器垂直伸缩(VPA)
        ○ 容器定时伸缩(CronHPA)
        ○ 弹性负载(Elastic-Workload)
    ■ 资源层弹性

应用场景

● 弹性伸缩架构
● DevOps持续交付
● 云原生AL



13

在这里插入图片描述
10000(ACK Pro) (和培训课程中ACK Pro 最大5000节点有差异??)
https://www.aliyun.net.cn/7369.html



14

在这里插入图片描述
容器镜像(不确定)
推测:
● ACK对容器进行管理
● kube-scheduler在集群中对pod资源对象进行调度
● 而pod是组成Deployement最小的单元
● Deployement是kubernetes中部署应用最常见的一种方式
● 因此kube-scheduler实际上是在对容器在进行调度



15

在这里插入图片描述
容器水平伸缩



16

在这里插入图片描述
容器镜像分发不属于ACK的应用场景



17

在这里插入图片描述
集群列表



18

在这里插入图片描述
云效项目协作



19

在这里插入图片描述
DevOps



20

在这里插入图片描述灰度发布



21

在这里插入图片描述
消息重试



22

在这里插入图片描述
集群消费模式



23

在这里插入图片描述
Go



24

在这里插入图片描述
NameSpace


扩展

● Pod

  ○ 是Kubernetes中能够创建和部署的最小单元
  ○ 是Kubernetes集群中的一个应用实例,总是部署在同一个节点的Node上
  ○ 包含了一个或多个容器 还包括了存储 网络等多个容器共享的资源
  ○ 支持多种容器环境,Docker最流行
  ○ 提供给容器共享的运行环境

● Etcd

  ○ 一个分布式一个存储系统

● Service

  ○ kubernates核心概念,可以为一组具有相同功能的容器应用提供一个统一的入口地址
  ○ 将请求进行负载分发到后端的各个容器应用上
  ○ 提供一个或多个Pod实例的稳定访问地址

● Deployement

  ○ 是Kubernetes中部署应用最常见的一种方式
  ○ 做应用真正的管理
  ○ Pod是组成Deployment的最小单元

● Volume

 ○ pod中能够被多个容器共享的磁盘目录
  ○ 用来管理存储
  ○ 用来声明在pod中的容器可以访问文件目录的
  ○ 一个卷可以被挂载到pod中一个或者多个容器的指定路径下面
  ○ 实现数据的持久化,和Docker总的volumn类似


25

在这里插入图片描述
Kubernetes

阿里云边缘托管Kubernates集群:
● 在云端提供一个标准 安全 高可用的Kubernetes集群
● 整合阿里云虚拟化 存储 网络和安全等能力
● 简化集群运维工作,更专注于容器化应用的开发于管理



26

在这里插入图片描述

镜像仓库


扩展

Docker三大概念

● 容器
● 镜像
● 镜像仓库

容器技术的特点

● 容器是自包含的
● 容器是可移植的
● 容器是互相隔离的
● 容器是轻量级的



27

在这里插入图片描述

弹性容器实例ECI
● 阿里云结合容器技术和无服务器技术为您提供的容器运行服务
● 无需管理底层服务器,也无需关心运行过程中的容器规划
● 仅为容器实际运行消耗的资源付费
● 不需要购买和管理ECS,可以直接在阿里云上运行容器/Pod
在这里插入图片描述


扩展

容器镜像服务ACR

高效的容器镜像分发服务,容器镜像服务是云原生时代的重要基础设施,托管和分发客户容器应用制品



28

在这里插入图片描述
Master服务器


扩展

Master服务端

在这里插入图片描述

Node客户端

在这里插入图片描述



29

在这里插入图片描述

容器镜像服务ACR



30

在这里插入图片描述

Volume



31

在这里插入图片描述

EDAS控制台
在这里插入图片描述


扩展

什么是EDAS

● 一个应用托管和微服务管理的云原生PaaS平台
● 提供应用开发 部署 监控 运维等全栈式解决方案
● 用户不再需要自己组件微服务框架并精心维护各个组件,只需要使用EDAS,就可以快速进行微服务应用的开发

核心组件

● 服务组测中心 Nacos
● 负载均衡 Nacos
● 服务网关 CSB
● 配置中心 Nacos ConfigServer
● 断路器 Sentinel(AHAS)

主要功能

创建和部署应用

● 以容器的方式托管应用
● Java程序支持以Jar(war sar) 包或者容器的形式进行部署
● 其他语言使用容器进行部署

CI/CD部署应用

● CI/CD 的核心概念是持续集成 持续交付和持续部署
● EDAS目前支持Jenkins和云效两个平台

在混合云中部署应用

● EDAS(专业版或者铂金版)

  ○ 支持混合云,可以将公共云,本地云或其他服务商提供的及其通过专线连接,并添加到EDAS公共云的混合云ECS集群中

在这里插入图片描述

  ○ 对于阿里云公共云中的ECS实例,EDAS提供弹性伸缩功能

分批发布

● 按照一定的批次,每次只对应用的一部分实例进行升级的发布过程
● 分批发布过程中如果出现故障,可以终止变更过程并进行回滚,带问题修复后重新发布
在这里插入图片描述

全链路流量控制和灰度发布模式

● 能够通过控制台实现灰度发布和流量管控
● 用户创建灰度分组,并在灰度分组中配置控制规则后。即可符合规则的流量导入灰度分组
● 通过流量控制可实现灰度发布,在线诊断,特定用户跟踪等功能

弹性伸缩

● 秒级自动弹性功能
● 动态实现应用扩容 缩容

限流 降级功能

● 限流

  ○ 通过调节流量的阈值来控制通过系统的最大流量值,保证系统安全可靠运行

● 降级

  ○ 在EDAS中,降级通常用于对下游出现超时的非核心服务提供者进行低优先级调用,确保上游核心应用服务消费者不被影响

EDAS健康检查

● 定期检查

应用监控功能

● 开发者可以查看应用的健康状况
● EDAS可以无缝对接ARMS应用监控

组件中心

● 围绕分布式 微服务体系 重点建设服务集成和整合能力
● 实现PaaS平台开饭的生态体系



32

在这里插入图片描述

PaaS



33

在这里插入图片描述

laaS



34

在这里插入图片描述

分批发布模式



35

在这里插入图片描述

Spring Cloud



36

在这里插入图片描述

RMA权限 和 RBAC权限管理



37

在这里插入图片描述

● Cluster IP
● NodePort
● LoadBalance



38

在这里插入图片描述

● 云原生是云计算的再升级
● 云原生正在重塑整个软件生命周期
● 云原生正在加速企业的数字化转型升级



39

在这里插入图片描述

轻CR
重CR
自动化辅助CR



40

在这里插入图片描述
数据分析
镜像仓库



41

在这里插入图片描述
持续集成
持续交付
持续部署



42

在这里插入图片描述
TCP协议
HTTP协议



43

在这里插入图片描述

生产者集群
消费者集群
Broker端



44

在这里插入图片描述

ECS云服务器
容器服务Kubernetes版本(ACK)



45

在这里插入图片描述

节点自治和网络自治



46

在这里插入图片描述

并发模式和RPS模式



47

在这里插入图片描述

默认实例和企业版



48

在这里插入图片描述
jar包 容器



49

在这里插入图片描述



50

在这里插入图片描述
庞大的单体应用
缺乏自动化能力的微服务



这篇关于阿里云ACA云原生助理工程师认证50道真题,附部分答案和扩展的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程