【架构设计】第14章 云原生架构设计 2/2

架构设计 相关文档,希望互相学习,********************************************************共同进步

风123456789~-CSDN博客


系统架构设计 相关文章

【架构专栏】架构考试介绍

【架构专栏】架构知识点


知识总览

共19章内容,主要包括:

1)1绪论、2计算机系统、3信息系统、4信息安全技术、5软件工程

2)6数据库设计、7系统架构设计基础知识

3)8系统质量属性与架构评估、9软件可靠性、

10软件架构演化与维护、11未来信息综合技术

4)12信息系统架构设计、13层次式架构设计、14云原生架构设计、

15面向服务架构设计、16嵌入式系统架构设计、17通信系统架构设计、

18安全架构设计、19大数据架构设计

每天进步一点点,加油!小伙伴们!💪


本文学习 第14章 云原生架构设计,以下为个人笔记,希望有所帮助,共同学习。

包括:

云原生架构产生背景、

云原生架构内涵、

云原生架构相关技术、

第14章 云原生架构设计

​云原生(Cloud Native)是一套专为云环境设计的应用开发、部署与运维的完整技术体系‌,核心是通过容器化、微服务、动态编排等技术,让应用充分发挥云计算的弹性、可扩展性和分布式优势,被公认为云计算未来的主流发展方向。

14.1 -14.2 云原生架构产生背景、云原生架构内涵

【架构设计】第14章 云原生架构设计 1/2https://blog.csdn.net/weixin_42081167/article/details/166140265

14.3 云原生架构相关技术

14.3.1 容器技术

1.容器技术 :容器作为标准化软件基础单元,它将应用及其所有依赖项打包发布,由于依赖项齐备,应用不再受环境限制,在不同计算环境间快速、可靠地运行。

通过容器技术,企业可以充分发挥云计算弹性优势,降低运维成本。

2.容器编排技术 :容器编排技术包括资源调度、应用部署与管理、自动修复、服务发现与负载均衡、弹性伸缩、 声明式 API、可扩展性架构、可移植性。

Kubernetes已成为容器编排的事实标准,广泛用于自动部署,扩展和管理容器化应用。

14.3.2 云原生微服务

1.微服务发展背景:

微服务模式将后端单体应用拆分为松耦合的多个子应用,每个子应用负责一组子功能。这些子应用称为"微服务",多个"微服务"共同形成了一个物理独立但逻辑完整的分布式微服务体系。这些微服务相对独立,通过解耦研发、测试与部署流程,提高整体迭代效率。
2.微服务设计约束如下:

1)微服务个体约束:微服务应用的功能在业务领域划分上应是相互独立的。

2)微服务与微服务之间的横向关系:在合理划分好微服务间的边界后,从可发现性和可交 互性处理微服务间的横向关系。可发现性是指当服务 A 发布和扩/缩容的时候,依赖服务 A 的服务 B 在不重新发布的前提下,能够自动感知到服务 A 的变化。可交互性是指服务 A 采用什么样的方式可以调用服务 B。

3)微服务与数据层之间的纵向约束:提倡数据存储隔离(Data Storage Segregation,DSS) 原则,对于数据的访问都必须通过相对应的微服务提供的 API 来访问。

4)全局视角下的微服务分布式约束:高效运维整个系统,从技术上实现全自动化的 CI/CD 流水线满足对开发效率的诉求,并在这个基础上支持蓝绿、金丝雀等不同发布策略,以满足对业务发布稳定性的诉求。
3.主要微服务技术:

1)ApacheDubbo作为源自阿里巴巴的一款开源高性能RPC框架,特性包括基于透明接口的RPC、智能负载均衡、自动服务注册和发现、可扩展性高、运行时流量路由与可视化的服务治理。

2)SpringCloud作为开发者的主要微服务选择之一,为开发者提供了分布式系统需要的配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性Token、全局锁、决策竞选、分布式会话与集群状态管理等能力和开发工具。

3)EclipseMicroProfile作为Java微服务开发的基础编程模型,它致力于定义企业Java微服务规范,MicroProfile提供指标、API文档、运行状况检查、容错与分布式跟踪等能力,使用它创建的云原生微服务可以自由地部署在任何地方,包括服务网格架构。

4)Tars是腾讯将其内部使用的微服务框架,包含一整套开发框架与管理平台,兼顾多语言、易用性、高性能与服务治理,理念是让开发更聚焦业务逻辑,让运维更高效。

5)SOFAStack是由蚂蚁金服开源的一套用于快速构建金融级分布式架构的中间件,也是在金融场景里的最佳实践。

6)DAPR(分布式应用运行时)是微软新推出的一种可移植的、无服务器的、事件驱动的运行时,它使开发人员可以轻松构建弹性,无状态和有状态微服务,这些服务运行在云和边缘上,并包含多种语言和开发框架。

14.3.3 无服务器技术 Server less

无服务器技术(Serverless)因为屏蔽了服务器的各种运维复杂度,让开发人员可以将更多精力用于业务逻辑设计与实现,而逐渐成为云原生主流技术之一。

1.Serverless计算包含以下技术特点:

(1)全托管的计算服务---客户只需要编写代码构建应用,无须关注同质化的、负担繁重的 基于服务器等基础设施的开发、运维、安全、高可用等工作。

(2)通用性---结合云 BaaS(后端云服务)API 的能力,能支撑云上所有重要类型的应用。

(3)自动弹性伸缩---让用户无须为资源使用提前进行容量规划。

(4)按量计费---让企业的使用成本有效降低,无须为闲置资源付费。

函数计算(FaaS)是Serverless中最具代表性的产品形态。通过把应用逻辑拆分多个函数,每个函数都通过事件驱动的方式触发执行。

2.技术关注点

无服务器技术的关注点是:计算资源弹性调度(容错、资源利用率、性能、数据驱动)、负载均衡和流控、安全性。

  1. 计算资源弹性调度

  2. 负载均衡和流控

  3. 安全性

14.3.4 服务网格(Service Mesh)

服务网格(ServiceMesh)是分布式应用在微服务软件架构之上发展起来的新技术,旨在将那些微服务间的连接、安全、流量控制和可观测等通用功能下沉为平台基础设施,实现应用与平台基础设施的解耦。这个解耦意味着开发者无需关注微服务相关治理问题而聚焦于业务逻辑本身,提升应用开发效率并加速业务探索和创新。
1.技术特点

服务网格旨在将那些微服务间的连接、安全、流量控制和可观测等通用功能下沉为平台基础设施,实现应用与平台基础设施的解耦。服务 A 调用服务 B 的 所有请求,都被其下的服务代理截获,代理服务 A 完成到服务 B 的服务发现、熔断、限流等策略, 而这些策略的总控是在控制平面(Control Plane)上配置。

2.主要技术

服务网格的主要技术:Istio、Linkerd、Consul。

如:服务A调用服务B的所有请求,都被其下的服务代理截获,代理服务A完成到服务B的服务发现、熔断、限流等策略,而这些策略的总控是在控制平面(ControIPlane)上配置。

14.4 云原生架构案例分析

14.4.1 某旅行公司云原生改造

1.背景和挑战

面临两个问题:公司主体由两个公司合并,技术体系不同,需要整合为一体;

节假日高并发流量。

2.基于云原生架构的解决方案

(1)改造第一阶段,某旅行技术团队为了提升集群资源利用率,降低资源使用成本。利用云原生思维重构部分技术体系,将多套旧有系统合并、收拢到一套以云原生应用为核心的私有云平台上,同时将IDC、物理网络、虚拟网络、计算资源、存储资源等通过IaaS、PaaS等,实现虚拟化封装、切割、再投产的自动化流程。

随着服务器集群规模的扩大,部分机器开始频繁出现故障。此时,保障服务稳定性成了第二阶段改造的首要任务。

(2)第二阶段基于公有云、私有云和离线专属云集群等新型动态计算环境,某旅行公司的技术团队帮助业务构建和运行具有弹性的云原生应用,促进业务团队开始使用声明式API,同时通过不可变基础设施、服务网格和容器服务,来构建容错性好、易于管理和观察的应用系统,并结合平台可靠的自动化恢复、弹性计算来完成整个服务稳定性的提升。

(3)第三阶段通过基础组件、服务的云原生改造、服务依赖梳理和定义等方式,使应用不再需要考虑底层资源、机房、运行时间和供应商等因素。此外,还利用标准的云原生应用模型,实现了服务的跨地域、跨云自动化灾备、自动部署,并向云原生场景下的DevOps演进。

14.4.2 云原生技术助力汽车公司数字化转型实践

◆战略性构建容器云平台。通过平台实现对某云行App、二手车、在线支付、优惠券等核心互联网应用承载。以多租户的形式提供弹性计算、数据持久化、应用发布等面向敏捷业务服务,并实现高水平资源隔离。标准化交付部署,快速实现业务扩展,满足弹性要求。

◆数字混合云交付。采用私有云+公有云的混合交付模式,按照服务的敏态/稳态特性和管控要求划分部署,灵活调度公有云资源来满足临时突发或短期高TPS业务支撑的需求。

◆深度融合微服务治理体系,实现架构的革新和能力的沉淀,逐步形成支撑数字化应用的业务中台。

14.4.3 某快递公司核心业务系统云原生改造

14.4.4 某电商业务云原生改造

14.4.5 某体育用品公司基于云原生架构的业务中台构建

习题1

下列关于云原生架构原则的描述,错误的是( )。

A.服务化原则、弹性原则、韧性原则

B.可观测原则、所有过程自动化原则

C.零信任原则、接口隔离原则

D.架构持续演进原则

解析:接口隔离原则是面向对象设计原则,其含义是使用多个专门的接口比使用单一的总接口好。它不是云原生架构原则。

答案:C
关于微服务的描述,错误的是( )。

A.微服务是将后端单体应用拆分为松耦合的多个子应用,每个子应用负责一组子功能

B.微服务相对独立,通过解耦研发、测试与部署流程,提高整体迭代效率

C.微服务与数据层之间的纵向约束的含义是:在合理划分好微服务间的边界后,主要从 微服务的可发现性和可交互性处理服务间的关系

D.驾驭微服务的前提是:高效运维整个系统,从技术上要准备全自动化的 CI/CD 流水线 满足对开发效率的诉求,并在这个基础上支持蓝绿、金丝雀等不同发布策略

解析:在合理划分好微服务间的边界后,主要从微服务的可发现性和可交互性处理服务间的关系,是属于微服务之间的横向关系。正确的纵向约束是:对于微服务的私有数据的访问都必须通过当前微服务提供的 API 来访问。

答案:C
无服务器技术的特点之一是全托管的计算服务:客户只需要编写代码构建应用,无须关注 同质化的、负担繁重的基于服务器等基础设施的( )等工作。

A.开发、测试、发布、交付

B.开发、运维、安全、高可用

C.机房建设、服务器装机、操作系统安装、软件安装

D.资源调度、性能压测、负载均衡、数据统计

解析:无服务器技术的特点如下: 全托管的计算服务:客户只需要编写代码构建应用,无须关注同质化的、负担繁重的基于服务 器等基础设施的开发、运维、安全、高可用等工作。 通用性:结合云 BaaS API 的能力,能够支撑云上所有重要类型的应用。 自动弹性伸缩:让用户无须为资源使用提前进行容量规划。 按量计费:让企业的使用成本有效降低,无须为闲置资源付费。

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

A.环境 B.操作系统 C.硬件 D.网络

解析:在容器的帮助下,应用程序无须关注操作系统及更加低层的硬件、网络、存储的限制。 选项 B、C、D 的说法有局限性,选项 A 更贴切。

答案:A

ok, 今天就到这里吧 🤗


相关系列文章,欢迎点赞、收藏,提供意见!​****

计算机系统基础知识 1分:概述、计算机硬件、计算机软件

操作系统 3分:进程管理、存储管理、文件管理、设备管理

数据库技术 3分:数据库设计、关系代数、范式、事务并发、数据库安全、新技术

嵌入式技术 3分:嵌入式硬件、嵌入式操作系统、嵌入式软件开发

计算机网络 3分(超纲较多):OSI七层模型、TCP/IP协议族、网络生命周期、IP地址

其他计算机系统基础知识 1分:计算机语言、多媒体、系统工程

系统性能 1分:性能指标、性能设计

信息系统基础知识 3分:信息系统生命周期、开发方法、五大典型系统

信息安全技术基础 5分:安全属性、信息安全技术、网络安全技术、安全协议

软件工程 12分:概述、需求工程、系统设计、运维、测试、基于构件;

面向对象技术 3分:面向对象基础、分析设计、UML关系、图

项目管理 1分:进度管理、配置管理、质量管理、风险管理

系统架构设计 20分:架构概念、生命周期、ABSD、DSSA、架构风格、

架构复用、质量属性、架构评估

软件可靠性 2分:可靠性建模、软件可靠性设计

软件架构的演化和维护1分:架构演化分类、评估、面向对象架构演化

未来信息综合技术 3分:信息物理系统、人工智能、边缘计算、机器人、数字李生、云计算

数学与经济管理 2分:最小生成树、最短路径、网络与最大流量、线性规划、决策论

知识产权和标准化 2分:知识产权属性、保护期限、产权人确定、侵权判定

专业英语 5分:完形填空,大学英语3级难度,自学

|--------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------|
| 【架构专栏】架构考试介绍 | 【架构专栏】架构知识点 |
| 【架构专栏】第1章 绪论 | 【架构专栏】第11章 未来信息综合技术 |
| 【架构专栏】第2章 计算机基础知识 | 【架构专栏】第12章 信息系统架构设计理论与实践 |
| 【架构专栏】第3章 信息系统基础知识 | 【架构专栏】第13章 层次式架构设计理论与实践 |
| 【架构专栏】第4章 信息安全技术基础知识 | 【架构专栏】第14章 云原生架构设计理论与实践 |
| 【架构专栏】第5章 软件工程基础知识 | 【架构专栏】第15章 面向服务架构设计理论与实践 |
| 【架构专栏】第6章 数据库设计基础知识 | 【架构专栏】第16章 嵌入式系统架构设计理论与实践 |
| 【架构专栏】第7章 系统架构设计基础知识 | 【架构专栏】第17章 通信系统架构设计理论与实践 |
| 【架构专栏】第8章 系统质量属性与架构评估 | 【架构专栏】第18章 安全架构设计理论与实践 |
| 【架构专栏】第9章 软件可靠性基础知识 | 【架构专栏】第19章 大数据架构设计理论与实践 |
| 【架构专栏】第10章 软件架构的演化和维护 | |
[架构专栏 知识点]




希望有所帮助,互相学习、共同进步,欢迎点赞、收藏!

相关推荐
跨境数据猎手4 小时前
从零搭建多平台二手ERP中台:闲鱼、淘宝、京东、拼多多、Mercari统一调度架构
大数据·系统架构·团队开发
政企项目老覃6 小时前
金融转账“幽灵失败“排查实录:从本地消息表到 Seata TCC 的选型与权衡
数据库·程序人生·性能优化·数据分析·系统架构
风123456789~7 小时前
【架构设计】第13章 层次式架构设计 2/2
系统架构
码流子7 小时前
智慧高速产品集落地全解析:一套方案打通车道接入、收费、管控与安全监测
大数据·人工智能·物联网·架构·系统架构
毅炼1 天前
不写多语言 SDK,怎么让 Python、Go、Node 服务接入注册中心?
java·后端·系统架构·gateway
PHP实战开发录1 天前
PHP Session为什么会拖慢并发请求
系统架构·php·开发
YOU OU1 天前
系统架构-CS与BS架构
系统架构
风123456789~1 天前
【架构专栏】第12章 信息系统架构设计 2/2
系统架构
m0_587383002 天前
深圳24小时自助健身房系统软件开发实战:架构设计与部署指南
人工智能·数据挖掘·系统架构·需求分析