云原生入门-名词术语-

网友投稿 804 2022-05-29

云原生入门-名词术语-

Pivotal公司的Matt Stine首次提出云原生(CloudNative)的概念;

云原生刚推广时,Matt Stine在《迁移到云原生架构》一书中定义了符合云原生架构的几个特征:12因素、微服务、自敏捷架构、基于API协作、扛脆弱性;

“12要素”英文全称是The Twelve-Factor App,最初由Heroku的工程师首次提出并开源,并由众多经验丰富的开发者共同完善。

微服务(MicroServices) 随着业务越来越复杂,业务架构也经历了不断变化和演进,每一次演进都是为了解决上一代系统架构的痛点

第一代单体架构把所有业务依赖的组件、库全部打包到一个执行程序,业务相互调用,大大增加了系统复杂度,导致系统维护成本高,改动影响大,发布风险高;并且系统完全封闭,内部组件不能共享给其他组件调用,导致产品能力不能共享,大大降低开发效率。

第二代面向服务架构SOA(Service Oriented Architecture)是一种设计方法,其中包含多个服务, 服务之间通过相互依赖最终提供一系列的功能。一个服务通常以独立的形式存在与操作系统进程中,各个服务之间通过网络调用。

第三代微服务架构是在 SOA 上做的升华,微服务架构强调的一个重点是“业务需要彻底的组件化和服务化”,原有的单个业务系统会拆分为多个可以独立开发、设计、运行的小应用。这些小应用之间通过服务完成交互和集成。

SOA架构和微服务架构的区别:

SOA

微服务

应用程序服务的可重用性的最大化

专注于解耦

系统性的改变需要修改整体

系统性的改变是创建一个新的服务

DevOps和持续交付正在变得流行,但还不是主流

强烈关注DevOps和持续交付

专注于业务功能重用

更重视“上下文边界”的概念

通信使用企业服务总线ESB

对于通信而言,使用较少精细和简单的消息系统

支持多种消息协议

使用轻量级协议,例如HTTP,REST或Thrift API

对部署到它的所有服务使用通用平台

应用程序服务器不是真的被使用,通常使用云平台

容器(如Docker)的使用不太受欢迎

容器在微服务方面效果很好

SOA服务共享数据存储

每个微服务可以有一个独立的数据存储

共同的治理和标准

轻松的治理,更加关注团队协作和选择自由

微服务架构确实有很多吸引人的地方,然而它的引入也是有成本的,它并不是银弹,使用它会引入更多技术挑战,比如性能延迟、分布式事务、集成测试、故障诊断等方面,企业需要根据业务的不同的阶段进行合理的引入,不能完全为了微服务而“微服务”。

2017年,Matt Stine在接受InfoQ采访时又改了口风,将云原生架构归纳为模块化、可观察、可部署、可测试、可替换、可处理6特质;

而Pivotal最新官网对云原生概括为4个要点:DevOps+持续交付+微服务+容器。

云原生 Docker

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:投入2亿星光基金,赋能千家伙伴,华为云SaaS星光计划发布
下一篇:Flink Solt优化需求与方案
相关文章