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

系统架构-云原生架构设计

内涵

基于云原生技术,旨在将云应用中的非业务代码部分进行最大化的剥离,让云设施接管应用中原有的大量非功能特性。

云原生的代码包括三部分:业务代码、三方软件、处理非功能特性的代码

具备云原生架构的应用可以最大程度利用云服务和提升软件交付能力

架构原则

  • 服务化原则:拆分为微服务架构
  • 弹性原则:系统的部署可以随着业务量的变化而变化
  • 可观测原则:通过日志、链路跟踪和度量等手段
  • 韧性原则:软件有一定的抵御软硬件异常的能力
  • 所有过程自动化原则:通过配置数据自描述和面向终态的交付过程
  • 零信任原则:需要基于认证和授权重构访问控制的信任原则
  • 架构持续演进原则:本身是一个需要不断演化的模型

主要架构模式

  1. 服务化架构模式:典型模式是微服务和小服务模式,通过服务化架构,把代码模块关系和部署关系进行分离
  2. Mesh化架构模式:把中间件框架从服务进程中分离
  3. Serverless模式:将“部署”这个动作从运维中分离,把应用运行的地点、操作系统、CPU性能、网络配置都交给云
  4. 存储计算分离模式:把暂存态数据、结构化和半结构化数据用云服务保存
  5. 分布式事务模式:一个大业务需要访问多个微服务,会带来分布式事务问题
  6. 可观测架构:可以Logging、Tracing、Metrics进行观测
  7. 事件驱动架构:本质上是应用/组件间的集成架构模式(隐式调用模式) 

相关技术 

  • 容器技术:将应用及其所有依赖项打包,使应用不再受环境限制,在不同计算环境间快速、可靠地运行
  • 云原生微服务:将后端单体应用拆分为松耦合的多个子应用,这些子应用称为微服务,多个微服务共同形成了一个物理独立但逻辑完整的分布式微服务体系。+
  • 无服务器技术(Serveless)屏蔽了服务器的各种运维复杂度,让开发人员可以将更多精力用于业务逻辑设计与实现
  • 服务网格(ServiceMesh)实现应用与平台基础设施的解耦,意味着开发者无需关注微服务相关治理问题而聚焦于业务逻辑本身 
http://www.dtcms.com/a/175671.html

相关文章:

  • Admyral - 可扩展的GRC工程自动化平台
  • 镜像和容器的管理
  • STM32--中断
  • k8s高可用集群,自动化更新证书脚本
  • 大模型范式转移:解码深度学习新纪元
  • $在R语言中的作用
  • linux_进程地址空间(虚拟地址空间)
  • Linux理解文件fd
  • LWIP的超时事件笔记
  • 处理PostgreSQL数据库事务死锁过程
  • 从机器人到调度平台:超低延迟RTMP|RTSP播放器系统级部署之道
  • Ubuntu20.04安装使用ROS-PlotJuggler
  • 注册 Broadcom 账号成功后,Broadcom 无法登录(最简单方案)
  • 16.Excel:数据收集
  • Linux 服务器静态 IP 配置初始化指南
  • C# NX二次开发:投影曲线和偏置曲线UFUN函数详解
  • leetcode hot100 技巧
  • ChatGPT-4o:临床医学科研与工作的创新引擎
  • maven基本介绍
  • influxdb实战
  • 三、Hadoop1.X及其组件的深度剖析
  • MATLAB的cvpartition函数用法
  • 基于Matlab实现耦合模理论仿真程序
  • 为了结合后端而学习前端的学习日志(1)——纯CSS静态卡片案例
  • STM32 CAN总线
  • 图片文件转base64存储在数据库
  • 【Python Number(数字)】
  • 性能优化-初识(C++)
  • 自定义Widget开发:手势交互处理
  • ES6入门---第三单元 模块五:Map和WeakMap