阿里云云原生助理(ACA)考试笔记:不定期更新内容

笔记目录

    • 第1节 云原生概念及发展历程
      • 1.1 云原生-云计算的下半场
      • 1.2 云原生的发展史及概念
      • 1.3 云原生时代已经到来
      • 本节小结
    • 第2节 云原生的核心技术以及架构
      • 2.1 云原生技术关键内涵
      • 2.2 云原生核心技术分析
      • 2.3 云原生架构模式分析
      • 小结
    • 第3节 阿里云云原生的产品介绍
      • 3.1 阿里云云原生技术实践
      • 3.2 云原生产品体系
      • 小结
  • 真题
    • 1
    • 扩展
      • 什么是AHAS
      • AHAS应用防护
      • 服务方或消费方流控
      • 强依赖隔离和弱依赖隔离
      • 流量防护
      • 通过流量塑峰实现冷系统预热启动
      • 架构感知
      • 故障演练
        • 故障演练流程-四个阶段
      • 功能开关
        • 操作流程
    • 2
    • 扩展
      • APM是什么
        • 五个维度
      • ARMS还能做什么
        • 用户应该关心什么
        • ARMS功能![img](https://img-blog.csdnimg.cn/38435391b7b4497187b4cc1879181289.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6LW16ZuvX-WQjuerr-W8gOWPkeW3peeoi-W4iA==,size_13,color_FFFFFF,t_70,g_se,x_16)
        • ARMS监控种类
        • ARMS典型应用场景
    • 3
    • 4
    • 扩展
      • DevOps基础概念
      • 核心组成部分
      • DevOps自动化工作流水线
      • DevOps技术生态工具链
      • 云原生时代企业DevOps诉求
      • 企业DevOps落地推进最佳策略
      • 企业一站式DevOps平台-阿里云企业云效平台
        • 一站式生命周期管理
        • 小微企业扶持计划-29
        • 云效平台六大产品
    • 5
    • 6
    • 扩展
      • 阿里云消息队列MQ家族
      • 自研 商用 开源 三位一体的消息队列中间件
      • 消息队列的使用场景
    • 7
    • 扩展
      • 消息队列主要功能
      • RocketMQ组成
      • RocketMQ消息类型
      • 全局顺序
      • 分区顺序消息模式
      • RocketMQ三种发送方式
        • 三种方式对比
      • 两种模式
        • 集群消费模式
        • 广播消息模式
      • 消息重试
      • 多协议接入
    • 8
    • 扩展
      • 云原生的三大关键技术
      • 云原生和云计算的关系
      • 云原生的核心技术
      • 阿里云原生产品体系的“五个最”
      • 云原生架构模式
      • 云原生六大核心技术
        • 容器技术-为应用而生
        • 容器编排技术-Kubernetes容器编排的事实标准
          • 容器编排核心价值
        • Serverless
      • 阿里巴巴对云原生的定义
      • 云原生的定义
    • 9
    • 10
    • 11
    • 12
    • 扩展
      • ACK Pro版集群和标准版集群的对比详情
      • ACK Pro特点
      • 什么是ACK
      • 核心功能
      • 应用场景
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 扩展
    • 25
    • 26
    • 扩展
      • Docker三大概念
      • 容器技术的特点
    • 27
    • 扩展
      • 容器镜像服务ACR
    • 28
    • 扩展
      • Master服务端
      • Node客户端
    • 29
    • 30
    • 31
    • 扩展
      • 什么是EDAS
      • 核心组件
      • 主要功能
        • 创建和部署应用
        • CI/CD部署应用
        • 在混合云中部署应用
        • 分批发布
        • 全链路流量控制和灰度发布模式
        • 弹性伸缩
        • 限流 降级功能
        • EDAS健康检查
        • 应用监控功能
        • 组件中心
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50

第1节 云原生概念及发展历程

1.1 云原生-云计算的下半场

  • 云原生的概念
  • 云原生和云计算的关系
  • 云原生能够解决什么问题

云计算可分为两个阶段:

  • 云托管阶段(Cloud Hosting):这阶段的云计算通过主机虚拟化实现主机资源池化,并统一提供云化基础设施服务云托管服务,可以看做是云计算的上半场阶段
  • 云原生阶段(Cloud Native):这阶段的云计算通过云原生技术实现企业创新数字化转型,可以看做云计算的下半场阶段

云计算的发展阶段示意图:

阿里云云原生助理(ACA)考试笔记:不定期更新内容_第1张图片

云计算的上半场:云托管阶段-逐步替代传统的基础设施

数据:云计算已经普及国内70%的企业,95%的企业认为云计算能够降低IT成本,提高服务效率

传统的计算模式:当需要扩容时,就必须要添加新的硬件设备

  • 应用
  • 中间件
  • OS

阿里云云原生助理(ACA)考试笔记:不定期更新内容_第2张图片

云计算模式:当需要扩容时,云端自动调整容量

  • 将软件作为服务(SaaS)
  • 将平台作为服务(PaaS)
  • 将基础设施作为服务(IaaS)

阿里云云原生助理(ACA)考试笔记:不定期更新内容_第3张图片

云计算下半场的挑战:云原生的挑战

  1. 企业基于云上的应用,未能充分发挥云价值与能力,因为企业的传统架构缺乏弹性
  2. 数字化转型,使得企业IT需要更敏捷的方式支撑
  3. 传统企业IT建设模式与软件架构,导致企业软件运维成本居高不下

云原生的目标:

  1. 构建云时代新的技术架构,来帮助企业应用能够更好地利用云计算优势,充分释放云计算的技术红利
  2. 让业务更敏捷、成本更低的同时又可伸缩性更灵活

1.2 云原生的发展史及概念

云原生这个概念是随着云计算的普及深入及容器技术快速成熟,逐步发展而产生的

云原生的发展历程:

阿里云云原生助理(ACA)考试笔记:不定期更新内容_第4张图片

云原生的定义:不断更新

  • 十二因子的应用定义

    阿里云云原生助理(ACA)考试笔记:不定期更新内容_第5张图片

  • Pivotal提出的“Cloud Native”概念:云原生是一种可以充分利用云计算优势的构建和运行应用的方式

    • DevOps
    • 持续交付
    • 微服务
    • 容器
  • CNCF提出的云原生定义:云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API

    • 容器
    • 服务网格
    • 微服务
    • 不可变基础设施
    • 声明式API

云原生是一种架构模式以及软件开发的新思想

  • 云原生基于云计算理念的深化,是面向云应用设计的一种新的架构设计理念
  • 充分发挥云效能的最佳实践路径,帮助企业构建弹性可靠、松耦合、易管理可观测的应用系统
  • 提升交付效率,降低运维复杂度

云原生的架构图

阿里云云原生助理(ACA)考试笔记:不定期更新内容_第6张图片

云原生的作用及价值:释放云原生价值,推动行业数字化转型

  1. 产业效能方面
    • 云原生释放了云的红利,最大程度发挥云的优势
    • 云原生成为驱动行业增长的重要引擎
  2. 应用视角方面
    • 容器技术解决异构资源标准化
    • 变革研发运营的生产方式提升交付效率
    • 提升业务应用的迭代速度,赋能业务创新
  3. 技术视角方面
    • 极致的弹性扩展能力,毫秒级弹性响应
    • 服务自治故障自愈能力
    • 大规模可复制能力,跨区域、平台快速复制

云原生对软件开发模式及开发者的影响:云原生技术不断发展和改进

  • 使得软件平台开发门槛越来越低,阿里云原生平台通过云原生技术
  • 使得软件开发者无需自行搭建、运维服务器以及底层中间件
  • 程序员不用在各种环境、不同技术中间件中遇到的问题而苦恼,只需专注自身的业务逻辑及开发语言

几种开发模式对比图:

阿里云云原生助理(ACA)考试笔记:不定期更新内容_第7张图片

云原生的适合对象:云原生的技术及理念,可以帮助大型企业及中小企业提高开发效能,降低运维成本,让企业更加专注业务发展本身

  • 帮助大型企业打破部门壁垒,构建统一技术框架,降低重复投资,提升开发效能,实现数据融通
  • 对于中小企业来说,中小企业更多关注的是敏捷灵活的开发迭代,用最小的代价获得最大的收益

1.3 云原生时代已经到来

阿里云对云原生的定义

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

云原生的愿景:软件从诞生起就“生在云上、长在云上”、全新的软件开发、发布和运维模式

云原生使释放云计算红利的最短路径,其中有三层含义

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

云计算的下一站,就是云原生;IT架构的下一站,就是云原生架构;

本节小结

  1. 云计算和云原生的关系?
    云原生是随着云计算概念的细化和思想升华,我们可以把云原生时代定义为云计算2.0时代
  2. 云原生是种架构模式及软件开发的新的思想理念。
    云原生基于云计算理念的深化,是面向云应用设计的一种新的架构设计理念,充分发挥云效能的最佳实践路径,帮助企业构建弹性可靠、松耦合、易管理、可观测的应用系统,提升交付效率,降低运维复杂度。
  3. 阿里巴巴对云原生的定义?
    云原生是一条使用户能:低心智负担的、敏捷的、以可扩展、可复制的方式,最大的利用“云”的能力,发挥“云”的价值的最佳路径

第2节 云原生的核心技术以及架构

2.1 云原生技术关键内涵

云原生的理解

image-20211229114035439

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

云原生技术改变了传统的开发模式

传统应用结构图:

阿里云云原生助理(ACA)考试笔记:不定期更新内容_第8张图片

  • 开发者需要关注从基础设施到应用层所有细节
  • 资源无法发挥弹性效能
  • 技术栈技术标准不统一
  • 系统缺乏敏捷,交付周期长
  • 数据不成体系,无关联性
  • 系统开放性差,系统交互复杂

云原生应用结构图:

阿里云云原生助理(ACA)考试笔记:不定期更新内容_第9张图片

  • 开发者仅需关注应用业务逻辑
  • 资源最大限度弹性伸缩
  • 业界标准统一技术栈
  • 持续交付、敏捷开发
  • 数据规范性好
  • 统一标准API,开放服务

云原生的概念体系

阿里云云原生助理(ACA)考试笔记:不定期更新内容_第10张图片

  • 容器:容器是一个标准的软件单元,它将代码及其所有依赖关系打包起来,使资源调度、微服务更容易,并具备强大的可移植性
  • 微服务:微服务架构是一种架构模式,它提倡将单体应用划分成一组多个小服务,每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通
  • DevOps:高效组织团队之间如何通过自动化的工具协作和沟通来完成软件的生命周期管理,从而更快、更频繁地交付更稳定的软件

2.2 云原生核心技术分析

  • 云原生基金会

    CNCF(云原生基金会)是目前云计算领域最成功的开源基金会之一,是Kubernetes,containerd,etcd,Envoy等知名开源项目的托管基金会

  • 云原生技术社区

    CNCF目前托管的20+正式项目共同构成了现代云计算生态的基石。其中Kubernetes项目是全世界第四活跃的开源项目

  • 云原生技术产业

    全球各大公有云厂商以及100+技术创业公司持续投入,总体市场于2021年逼近1000亿美元。

云原生的技术范畴

  1. 云应用定义与开发流程
    • 应用定义与镜像制作
    • 配置CI/CD
    • 消息和Streaming
    • 云原生数据库
  2. 云应用的编排与管理
    • 应用编排与调度
    • 服务发现治理
    • 远程调用
    • API网关
    • Service Mesh服务网络
  3. 监控与可观测性
    • 系统监控
    • 日志管理
    • 链路追踪Tracing
    • 混沌工程
  4. 云原生底层技术
    • 容器运行时
    • 云原生存储技术
    • 云原生网络技术
  5. 云原生工具集
    • 流程自动化与配置管理
    • 容器镜像仓库
    • 云原生安全技术
    • 云端密码管理
  6. Serverless
    • 函数计算FaaS
    • 后端计算BaaS
    • Serverless 计费

云原生技术学习主线解析

云原生的技术体系看似纷乱繁杂,但在不同视角都体现着“牵一发而动全身”的主线

阿里云云原生助理(ACA)考试笔记:不定期更新内容_第11张图片

云原生核心六大技术

  1. 容器及容器编排技术
  2. 云原生微服务架构
  3. 云原生中间件
  4. Serverless
  5. DevOps

云原生的核心技术介绍

  1. 容器技术:为应用而生

    容器作为标准化软件单元,它将应用及其所有依赖项打包,使应用不再受环境限制,在不同计算环境间快速、可靠地运行。

    容器化的好处在于运维的时候不需要再关心每个服务所使用的技术栈,每个服务都被无差别地封装在容器里,可以被无差别地管理和维护。

    容器技术核心价值:

    • 敏捷性:架构敏捷,加速产品迭代
    • 资源弹性:秒级资源弹性
    • 可移植性:环境标准化,简化交付

    几个重要的概念:

    物理机:独占资源,特点:价格昂贵,交付时间几周

    虚拟机:资源虚拟化,共享基础设施,特点:灵活、弹性,交付时间十几分钟到几天

    容器:应用层虚拟化,共享操作系统内核,特点:部署密度高,秒级启动,弹性伸缩

    主要的开源技术:

    • Docker
    • Pouch
  2. 容器编排技术-Kubernetes容器编排的事实标准:容器的集群管理平台,云原生体系发展的基石

    容器编排核心价值:

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

    单体架构:

    阿里云云原生助理(ACA)考试笔记:不定期更新内容_第12张图片

    单体架构的特点:

    • 任何变更必须部署整个应用
    • 整个应用必须采用统一的技术栈
    • 使用统一的数据库
    • 发布阶段需要大量协调
    • 所有功能在单个应用程序中,单个功能故障可能导致整个应用程序无法正常使用。

    微服务架构:

    阿里云云原生助理(ACA)考试笔记:不定期更新内容_第13张图片

    微服务架构特点:

    • 各个服务独立部署,相互协作
    • 各个服务采用独立的技术栈
    • 各个服务使用单的数据库资源
    • 各个服务根据业务需求独立演进
    • 服务故障相互隔离
  4. Serverless

    “无服务器”简化云计算架构和编程模式,开发者不用关注服务器的问题,通过第三方后端提供计算服务执行

    Serverless图示

    阿里云云原生助理(ACA)考试笔记:不定期更新内容_第14张图片

    Serverless特点:

    • 快速交付:容器化、事件驱动
    • 智能弹性:自动伸缩
    • 更低成本:免运维,按需付费

    Serverless架构:

    • Backend as a Service(BaaS)后端即服务
    • Functions as a Service(FaaS)函数即服务
  5. DevOps:Development和Operations的组合词

    阿里云云原生助理(ACA)考试笔记:不定期更新内容_第15张图片

    • 一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例
    • 透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠

    DevOps的核心价值:

    • 高效的软件交付方式
    • 提升交付质量
    • 激发团队的创造力

2.3 云原生架构模式分析

云原生的架构模式

  • 单体架构:基本无人使用,成本低,但二次开发困难
  • 垂直架构:有一定模块化,负载均衡
  • SOA架构:服务管控,RPC技术
  • 微服务架构:高密度部署,原子、自治

企业架构演进示意图

阿里云云原生助理(ACA)考试笔记:不定期更新内容_第16张图片

云原生架构与传统架构的对比

传统软件架构:

  • 需关注基础设施的能力及其运维
  • 需采购及维护大量的第三方软件以及非功能性能力
  • 软件开发效率低,且未充分利用云计算IaaS与PaaS的能力

从技术角度看:

  • 云原生架构是基于云原生技术的一组架构原则设计模式的集合
  • 云原生将云应用中的非业务代码部分进行最大化剥离,使云设施接管应用中原有的大量非功能特性
  • 使业务不再受非功能性业务中断的困扰,且具备轻量、敏捷、高度自动化的特点

云原生架构和传统架构的对比图

阿里云云原生助理(ACA)考试笔记:不定期更新内容_第17张图片

云原生架构中几种典型架构模式

  • 服务化架构模式
  • Mesh化架构模式
  • Serverless架构模式
  • 存储计算分离模式
  • 分布式事务模式
  • 可观测架构

典型的云原生架构反模式

  • 庞大的单体应用
  • 单体应用“硬拆”为微服务
  • 缺乏自动化能力的微服务

小结

  1. 云原生技术生态

    CNCF是目前云计算领域最成功的开源基金会之一,是Kubernetes等知名开源项目的托管基金会。CNCF把云原生技术分为六层。

  2. 云原生核心六大技术

    • 容器技术
    • 容器编排技术
    • 云原生微服务架构
    • 云原生中间件
    • Serverless无服务架构
    • DevOps开发运维一体化
  3. 云原生架构模式

    • 云原生架构相比较传统架构进了一大步,将业务代码中的大量非功能性特性剥离到 laaS和PaaS中

    • 减少业务代码开发人员的技术关注范围

    • 开发人员关注代码,底层通过专业性平台提升应用的服务能力

第3节 阿里云云原生的产品介绍

3.1 阿里云云原生技术实践

阿里云对云原生的断言:云原生成为释放云计算红利的最短路径

  • 成为云计算的新界面
  • 重塑软件生命周期
  • 加速信息产业转型升级

阿里云云原生的5个最

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

阿里云的云原生开源贡献:阿里是国内在云原生领域的开源贡献最全面的科技公司

阿里云云原生助理(ACA)考试笔记:不定期更新内容_第18张图片

阿里云的云原生产品家族图谱:

阿里云云原生助理(ACA)考试笔记:不定期更新内容_第19张图片

3.2 云原生产品体系

容器产品家族

阿里云云原生助理(ACA)考试笔记:不定期更新内容_第20张图片

  • Kubernetes版(ACK)
  • Serverless Kubernetes (ASK)
  • 镜像服务(ACR)
  • 服务网络(ASM)
  • 边缘容器服务ACK@Edge

微服务产品家族

阿里云云原生助理(ACA)考试笔记:不定期更新内容_第21张图片

  • 阿里云微服务是基于容器技术、全面集成Kubernates,并深度支持Dubbo和Spring Cloud等微服务框架的一站式微服务解决方案
  • 微服务组件围绕分布式、微服务体系,重点建设服务集成和整合能力
  • 实现 PaaS 平台开放的生态体系

阿里云微服务产品特点:

  • 易接入
  • 易运维
  • 易管理

消息队列产品家族

  • 消息队列 RocketMQ版
  • 消息队列Kafka 版
  • 消息队列RabbitMQ版
  • 微消息队列MQTT版
  • 阿里云消息服务MNS
  • 事件总线EventBridge

Serverless产品

  1. FC(函数计算):函数计算(Function Compute)是一个事件驱动的全托管Serverless计算服务
    • 一个事件驱动的全托管Serverless 计算服务
    • 用户无需管理服务器等基础设施,只需编写代码并上传,函数计算会准备好计算资源
    • 以弹性、可靠的方式运行业务代码
  2. SAE (Serverless应用引擎):是面向应用的Serverless PaaS平台。
    • 实现了Serverless架构+微服务架构的完美融合
    • 真正按需使用、按量计费,节省闲置计算资源,同时免去 laaS运维,有效提升开发运维效率
    • SAE支持SpringCloud、Dubbo和HSF等流行的微服务架构

阿里云云效DevOps产品体系:企业级一站式DevOps平台

  • 支持公共云、专有云和混合云多种部署形态
  • 通过人工智能、自动化技术的应用提升开发者的研发效能
  • 持续交付有效价值

阿里云云原生助理(ACA)考试笔记:不定期更新内容_第22张图片

云原生产品的应用场景:弹性伸缩

容器服务可以根据业务流量自动对业务扩容/缩容,不需要人工干预,避免流量激增扩容不及时导致系统挂掉,以及平时大量闲置资源造成浪费。

  • 根据业务流量自动对业务扩容/缩容
  • 快速响应
  • 业务流量达到扩容指标,秒级触发容器扩容操作。全自动
  • 整个扩容/缩容过程完全自动化,无需人工干预。低成本
  • 流量降低自动缩容,避免资源浪费。

阿里云云原生助理(ACA)考试笔记:不定期更新内容_第23张图片

云原生产品典型应用场景:DevOps持续交付

配合Jenkins帮您自动完成从代码提交到应用部署的DevOps完整流程,确保只有通过自动测试的代码才能交付和部署,高效替代业内部署复杂、迭代缓慢的传统方式

  • 最优化的持续交付流程
  • DevOps自动化:实现从代码变更到代码构建,镜像构建和应用部署的全流程自动化。
  • 环境一致性:容器技术让您交付的不仅是代码,还有基于不可变架构的运行环境。
  • 持续反馈:每次集成或交付,都会第一时间将结果实时反馈。

阿里云云原生助理(ACA)考试笔记:不定期更新内容_第24张图片

云原生产品典型应用场景:微服务架构

企业生产环境中,通过合理微服务拆分,将每个微服务应用存储在阿里云镜像仓库帮您管理。您只需迭代每个微服务应用,由阿里云提供调度、编排、部署和灰度发布能力

  • 实现敏捷开发和部署落地,加速企业业务迭代
  • 负载均衡和服务发现:支持4层和7层的请求转发和后端绑定。
  • 丰富的调度和异常恢复策略:支持服务级别的亲和性调度,支持跨可用区的高可用和灾难恢复
  • 微服务监控和弹性伸缩:支持微服务和容器级别的监控,支持微服务的自动伸缩

阿里云云原生助理(ACA)考试笔记:不定期更新内容_第25张图片

小结

  1. 云原生是种架构模式及软件开发的新的思想理念
  2. 阿里巴巴对云原生的定义:云原生是一条使用户能低心智负担的、敏捷的、以可扩展、可复制的方式,最大的利用“云”的能力,发挥“云”的价值的最佳路径
  3. 云原生的三大关键技术内涵:容器、微服务、DevOps
  4. 云原生核心技术:容器技术、容器编排技术、微服务架构、云原生中间件、Serverless 、DevOps
  5. 阿里云云原生产品体系的“五个最”:最丰富的云原生产品体系、最全面云原生开源贡献、最广泛云原生客户群体、最大规模云原生应用实践、最高等级全球云原生评测。

真题

阿里云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功能img

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

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

你可能感兴趣的:(我的笔记,云原生,阿里云,云计算)