当前位置: 首页 > news >正文

[系统架构设计师]云原生架构设计理论与实践(十四)

[系统架构设计师]云原生架构设计理论与实践(十四)

一.云原生架构内涵

1.特点

1.代码结构发生巨大变化

2.非功能性特性大量委托给云原生架构来解决:高可用能力,容灾能力,安全特性,可运维性,易用性,可测试性,灰度发布能力

3.高度自动化的软件交付

2.云原生的原则

1.服务化原则:通过服务化架构把不同生命周期的模块分离出来,分别进行业务迭代

2.弹性原则:系统的部署规模可以随着业务量的变化而自动伸缩

3.可观测性原则:通过日志,链路跟踪和度量等手段,使得多次服务调用的耗时,返回值和参数都清晰可见

4.韧性原则:软件所依赖的软硬件组件出现异常时,软件表现出来的防御能力

5.所有过程自动化原则:让自动化工具理解交付目标和环境差异,实现整个软件交付和运维的自动化

6.零信任原则:不应该信任网络内部和外部的任何人/设备/系统,需要基于认证和授权重构访问控制的信任基础

7.架构持续演进原则:架构具备持续演进能力

3.主要架构模式

1.服务化架构模式:要求以应用模块为颗粒度划分一个应用软件,以接口契约(例如IDL)定义彼此业务关系,

以标准协议(HTTP,gRPC)确保彼此的互联互通,结合领域驱动模型(DDD),测试动开发(TDD),容器化部署提升每个接口的代码质量和迭代速度

2.Mesh化架构模式:把中间件框架(如RPC,缓存,异步消息等)从业务进程中分离,让中间件SDK与业务代码进一步解耦,从而使得中间件升级对业务没有影响,甚至迁移到另一个平台的中间件也对业务透明

3.Serverless模式:适合事件驱动的数据计算任务,计算时间短的请求/响应应用,没有复杂相互调用的长周期任务

4.存储计算分离模式:无状态应用不存在一致性维度,可获得很好的可用性和分区容错性,因而获得更好的弹性

5.分布式事务模式:XA模式(传统采用XA模式),基于消息的最终一致性(BASE),TCC模式,SAGA模式,开源项目SEATA的AT模式

6.可观测架构:Logging,Tracing,Metrics

7.事件驱动架构(EDA):应用/组件间的集成架构模式

4.典型云原生架构反模式

1.庞大的单体应用

2.单体应用"硬拆"为微服务

3.缺乏自动化能力的微服务

二.云原生架构相关技术

1.容器技术

在这里插入图片描述

2.容器编排技术

资源调度,应用部署与管理,自动修复,服务发现与负载均衡,弹性伸缩,声明式API,可扩展性架构,可移植性

3.微服务

设计约束:

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

2.微服务与微服务之间的横向关系:可发现性和可交互性处理微服务间的横向关系

3.微服务与数据层之间的纵向约束:数据存储隔离(DSS)原则数据访问通过API访问

4.全局视角下的微服务分布式约束:全自动化,支持蓝绿,金丝雀等不同发布策略

4.无服务器技术

特点:全托管的计算服务,通用性,自动弹性伸缩,按量计费

服务网格主要技术:Istio,Linkerd,Consul

4.无服务器技术

特点:全托管的计算服务,通用性,自动弹性伸缩,按量计费

服务网格主要技术:Istio,Linkerd,Consul

在这里插入图片描述

http://www.dtcms.com/a/338458.html

相关文章:

  • flink+clinkhouse安装部署
  • 【数据结构】二叉树-堆(深入学习 )
  • Flink原理与实践 · 第三章总结
  • Jenkins项目发布基础
  • 代码随想录算法训练营四十六天|图论part04
  • CSS封装大屏自定义组件(标签线)
  • 在python中等号左边的都是对象,在matlab中等号a = 3+2 a就是个变量
  • 关系型数据库与非关系型数据库
  • 用户认证技术
  • 【笔记】扩散模型(一一):Stable Diffusion XL 理论与实现
  • 力扣hot100:盛最多水的容器:双指针法高效求解最大容量问题(11)
  • [NSSCTF 2022 Spring Recruit]rrrsssaaa
  • 94、23种设计模式之工厂方法模式(3/23)
  • 用户认证技术和应用控制技术总结
  • 接口和抽象类的区别(面试回答)
  • leetcode43. 字符串相乘
  • 遗传算法求解冷链路径优化问题matlab代码
  • [ Spring 框架 ] 框架搭建和属性赋值
  • android 实现表格效果
  • 《彩色终端》诗解——ANSI 艺术解(DeepSeek)
  • shell脚本第一阶段
  • Image-to-Music API 接入文档(图片生成音乐)
  • 【新手易混】find 命令中 -perm 选项的知识点
  • ANSI终端色彩控制知识散播(I):语法封装(Python)——《彩色终端》诗评
  • JavaScript 性能优化实战技术指南
  • Coze AI大模型 Docker 部署流程详解
  • 设计模式(四)——责任链模式
  • Spring 三级缓存:破解循环依赖的底层密码
  • 【Python语法基础学习笔记】常量变量运算符函数
  • LeetCode 每日一题 2025/8/11-2025/8/17