云原生
:是一种构建和运行应用程序的方法,是一套技术体系和方法论。云原生(CloudNative)是一个组合词,Cloud
+ Native
:
云原生一直在发展变化中,没有确切的定义,我们通常将云原生定义为四要素:微服务
+ DevOps
+ 持续交付
+ 容器
。
总而言之,符合云原生架构的应用程序应该是:
微服务:几乎每个云原生的定义都包含微服务,跟微服务相对的是单体应用。微服务的理论基础是康威定律
,指导服务怎么切分,大概意思是组织架构决定产品形态。
微服务架构的好处就是按功能切分之后,服务解耦,内聚更强,变更更易;另一方面也可以根据DDD来划分服务。
DevOps:这是个组合词,Dev + Ops,就是开发和运维合体,不像开发和产品,经常刀刃相见,实际上 DevOps 应该还包括测试,DevOps 是一个敏捷思维,是一个沟通文化,也是组织形式,为云原生提供持续交付的能力。
持续交付:是不误时开发,不停机更新,小步快跑,反传统瀑布式开发模型,这要求开发版本和稳定版本并存,需要很多流程和工具支撑。
容器化:Docker 是应用最为广泛的容器引擎,在思科、谷歌等公司的基础设施中大量使用,是基于 LXC
技术。容器化为微服务提供了实施保障,起到应用隔离作用,K8S是容器编排系统,用于容器管理,容器间的负载均衡,由谷歌开发,Docker 和 K8S 都是使用 Go语言 编写的,是非常好用的工具。
(补充:LXC(Linux Containers)是一种基于Linux内核的容器化虚拟化技术。它允许在一个主机上运行多个相互隔离的Linux系统和应用程序实例。)
整理完毕,完结撒花~
参考地址:
1.【云原生-介绍】到底什么是云原生?下一个内卷?https://blog.csdn.net/u010800804/article/details/120428072