15云原生架构

wumingliang / 2023-08-11 / 原文

云原生也是云,它基于分布式部署和统一运管的分布式云,以容器、微服务、DevOps等技术为基础建立的一套技术产品体系。

云原生就是从云里产生的产品所构成的云原生态的体系。

而不是云之外的产品或者脱离云的产品。

 

云原生架构设计原则

服务化原则:以微服务为技术

弹性原则:对相关的需求进行可缩减可扩展,可根据业务变化自动伸缩

可观测原则:对操作留痕,通过日记、链路跟踪和度量

韧性原则:面对异常的抵御能力

所有过程自动化原则:自动化交付工具

零信任原则:默认不信任网络内部和外部的任何人/设备/系统

架构持续演进原则:业务高速迭代情况下的架构与业务平衡

 

 

云原生架构模式

服务化架构模式:微服务技术,服务拆分导致维护压力大

mesh化架构模式:把中间件从业务进程分离出来,由mesh进程来完成

serverless模式:适合事件驱动的数据计算任务

存储计算分离模式:各类暂态数据用云服务保存

分布式事务模式:解决微服务模式中多数据源事务问题

可观测架构:包括logging,tracing,metrics三个方面

事件驱动架构:本质上是一种应用组件间的集成架构模式

 

云原生架构的反模式(太大行、太细不行,容器)(适度就好)

庞大的单体应用:需要多人开发的业务模块,应考虑通过服务化进行拆分呢

单体应用“硬拆”为微服务(服务拆分要适度)

缺乏自动化能力的微服务:手动维护大量微服务是不现实的

 

微服务设计约束:

微服务个体约束:每个微服务都是独立的,修改一个微服务不能影响另一个微服务

微服务与微服务之间的横向关系:通过第三方服务注册中心来满足服务的可发现性

微服务与数据层之间的纵向约束:数据访问需要通过微服务

全局角度下的微服务分布式约束:高效运维整个系统

 

云原生架构图

底层是公共云、专有云、边缘计算iaas

......

云原生不再区分各种类型的资源

而是在一个类似透明的独立环境进行各种类型的开发。