面向服务架构和微服务架构的区别 - 朗尊软件,企业级电商平台提供商

发表时间: 2019-11-20 04:16:03 阅读: 205

SOA(Service-Oriented Architecture)面向服务架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性

什么面向服务架构

SOA(Service-Oriented Architecture)面向服务架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。

SOA是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。SOA的提出是在企业计算领域,就是要将紧耦合的系统,划分为面向业务的,粗粒度,松耦合,无状态的服务。服务发布出来供其他服务调用,一组互相依赖的服务就构成了SOA架构下的系统。


面向服务架构的特点

面向服务架构的特点可概括为粗粒度、可重用、松耦合、明确定义的接口、无状态的服务设计和基于开放标准等特点。

面向服务的则重点是一切以服务为中心,从服务识别,服务分析,服务设计,服务开发和服务上线使用一切都是以服务为中心。但是要注意到面向服务本身不是在传统面向结构或面向对象基础上的一个新方法,而是对传统面向对象和组件化思想的提升。


什么是微服务架构

微服务尚无明确的定义,我们一般理解为它采用一组服务的方式来构建一个应用,服务独立部署在不同的进程中,不同服务通过一些轻量级交互机制来通信,例如 RPCHTTP 等,服务可独立扩展伸缩,每个服务定义了明确的边界,不同的服务甚至可以采用不同的编程语言来实现,由独立的团队来维护。

微服务架构强调业务系统需要彻底地组件化和服务化。将单个业务系统拆分为多个可独立设计、开发、运行和运维的小应用。


微服务架构的特点

微服务架构具有通过服务实现组件化、按业务能力来划分服务与组织团队、服务即产品、智能终端与哑管道、去中心统一化、基础设施自动化、Design for failure和进化设计等特点。

分别了解了面向服务和微服务的定义与特点后,我们可以对二者进行比较。


面向服务架构和微服务架构的区别

首先,SOA的提出是在企业计算领域,就是要将紧耦合的系统划分为面向业务的,粗粒度,松耦合,无状态的服务。服务发布出来供其他服务调用,一组互相依赖的服务就构成了SOA架构下的系统。

基于这些基础的服务,可以将业务过程用类似BPEL流程的方式编排起来,而BPEL反映的是业务处理的过程,这些过程对于业务人员更为直观,调整也比hardcode的代码更容易。

企业计算领域,如果不是交易系统的话并发量都不是很大的,所以大多数情况下,一台服务器就容纳将许许多多的服务,这些服务采用统一的基础设施,可能都运行在一个应用服务器的进程中。虽然说是面向服务了,但还是单一的系统。

而微服务架构大体是从互联网企业兴起的,由于大规模用户,对分布式系统的要求很高,如果像企业计算那样的系统,伸缩就需要多个容纳续续多多的服务的系统实例,前面通过负载均衡使得多个系统成为一个集群。

但这是很不方便的,互联网企业迭代的周期很短,一周可能发布一个版本,甚至可能每天一个版本,而不同的子系统的发布周期是不一样的。

而且,不同的子系统也不像原来企业计算那样采用集中式的存储,使用昂贵的Oracle存储整个系统的数据,二是使用MongoDBHBaseCassandraNOSQL数据库和Redismemcache等分布式缓存。

那么就倾向采用以子系统为分割,不同的子系统采用自己的架构,那么各个服务运行自己的Web容器中,当需要增加计算能力的时候,只需要增加这个子系统或服务的实例就好了,当升级的时候,可以不影响别的子系统。这种组织方式大体上就被称作微服务架构。

微服务是细粒度的SOA组件,它们是关注点更窄的轻量级服务。微服务与SOA之间的另一个不同之处是服务互联和编写服务时所使用的技术。J2EE是一个遵守企业级标准的用于编写SOA架构的技术栈。Java命名与目录接口(JNDI)、企业级JavaBeanEJB)以及企业服务总线(ESB)都是SOA应用赖以构建和维护的生态土壤。即便ESB是标准,在2005年之后毕业的工程师却鲜有听说过ESB的,至于用过ESB的那就更少了。而当代的,例如Rubyon Rails这样的框架甚至不会去考虑如此复杂的软件部件。


如果用一句话来总结SOA和微服务架构的区别,那就是微服务不再强调传统SOA架构里面比较重的ESB企业服务总线,同时SOA的思想进入到单个业务系统内部实现真正的组件化。


文章来源:广州朗尊软件科技有限公司

网站声明:以上内容为朗尊软件官方网站的原创文章,如需转载,请注明出处,谢谢合作!

电商头条新闻
1 Legendshop线上与线下系统的微服务平台的解决方案
Legendshop微服务平台解决方案
2 分析互联网产品的情感化设计
相信关注情感化设计话题的人大部分都看过诺曼的《情感化设计》一书,但诺曼谈得太宏观、太概念化了。我想谈谈对互联网产品情感化设计的理解及操作方法
3 b2b2c商城系统能为企业带来什么?
b2b2c是一种电子商务模式,企业选择做自己的b2b2c商城系统最终当然是为了盈利。下面b2b2c商城系统小编带你一起来看看。
4 小羊云商新零售解决方案
广州朗尊软件科技有限公司成立于2014年,公司立足自我创业,专门从事web开发及系统集成业务服务,系统咨询服务和集成
5 S2B2C模式是什么?
广州朗尊软件科技有限公司成立于2014年,公司立足自我创业,专门从事web开发及系统集成业务服务,系统咨询服务和集成
6 开通商城的步骤
如何注册新用户,开通商城
7 朗尊软件晋级中国创新创业大赛第四届羊城“科创杯”创新创业大赛复赛
中国创新创业大赛是由科技部、财政部、教育部、中央网信办、全国工商联共同指导举办的一项以“科技创新,成就大业”为主题的全国性比赛。为加快实施创新驱动发展战略,整合创新创业资源,搭建创新创业服务平台,引导社会各界力量支持创新创业,打造推动经济发展和转型升级的强劲引擎,广州市科学技术局特举办第八届中国创新创业大赛(广东·广州赛区)暨第四届羊城“科创杯”创新创业大赛。
8 社交美妆时代,新品牌如何打造爆款
随着各种直播、社交媒体平台的兴起,每年都会有不同的美妆爆款产品出现。那么这些爆款都是通过哪些方式让美妆达人都为之倾倒呢?在社交媒体成长的千禧一代时代到来,在消费者赋能,注意力稀缺,产业链重塑的背景下,他们改写原有的商业竞争机制。
  • 客服热线:020-84131336
  • 在线时间:周一至周六 9:00-19:00
  • 在线客服
微信服务号

Copyright©2004-2012 All Rights Reserved 粤ICP备15089754号-1 网站地图 站点地图

b2b2c商城系统 java开源商城 云商城系统 电商平台系统 电商分销系统 商城分销系统 多用户商城系统 微信小程序商城