云原生入门-名词术语-

举报
wk1234 发表于 2020/11/01 10:46:40 2020/11/01
【摘要】 Pivotal公司的Matt Stine首次提出云原生(CloudNative)的概念; 云原生刚推广时,Matt Stine在《迁移到云原生架构》一书中定义了符合云原生架构的几个特征: ​2017年,Matt Stine在接受InfoQ采访时又改了口风,将云原生架构归纳为模块化、可观察、可部署、可测试、可替换、可处理6特质; 4个要点:DevOps+持续交付+微服务+容器

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+持续交付+微服务+容器



【版权声明】本文为华为云社区用户翻译文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容, 举报邮箱:cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。