soa是什么意思翻译 soa是什么( 三 )



soa是什么意思翻译 soa是什么

文章插图
单体向微服务过渡架构

因此我们需要定义一个问题,微服务到底和SOA有没有关系?其实,这其中就隐藏着两种关系:
  • (1)微服务简化了SOA架构思想,是SOA一个离经叛道的继任者,
  • (2)微服务进行了SOA基因改造,成了一个新的变种,
微服务是SOA一个离经叛道的继任者,其实这是一句赞美之词!
首百思特网先我们来看看微服务和SOA比起来有多么的相似,又多么的不同 。
(1)微服务专注小的个体问题,形成服务,通过松耦合的通讯机制协作起来,解决更大的问题;反之,SOA一开始就专注大的协调问题,首先的是服务协议、规则、表述的统一性,然后才是设计足够大的独立服务,并通过流程建模,解决整体上的问题 。
(2)微服务倾向于拆分,也就是将单体应用尽量拆分到一个适当的粒度,形成个人或小团队去独立的服务个体;但SOA不同,服务要足够的粗粒度,服务接口只是作为异构系统调用的统一手段,甚至我们可以将一个大系统作为SOA的一个构建服务而独立存在,例如前面说到的应急指挥系统的SOA架构中通讯调度系统作为一个独立的SOA服务而存在 。
(3)微服务的实施模式是自底向上型:不同的小团队分配不同的微服务进行开发、构建、部署、发布 。系统整体上的把控,是在发布、测试过程中所有团队共同参与的结果,这时候开发变成了运维,运维变成了顾问,这就是Devops的思想,因此微服务更适合小型团队的持续化发布;反之SOA是自顶向下的实施模式,必须进行分层式的过程管理,要有人对流程管理负责、ESB企业数据总线负责、各个构件服务也是不同组织的项目或开发团队负责 。因此SOA架构在实施过程中具备清晰的责任关系,特别适合项目跨企业、大企业跨部门的复杂应用系统建设 。这和微服务的实施过程可以说是天壤之别 。
(4)微服务与SOA一样,都是在分布式环境下,形成很多不同的独立服务,相对于SOA,微服务是细粒度的,SOA是粗粒度的,而且它们在技术的异构性的兼容上有着一致的风格,微服务是通过通讯机制,主要是Restful,实现不同微服务的相互协作,但微服务自身用什么技术来实现,那都不影响;同样前面的内容也说清楚了SOA的服务接口定义和Webservices实现,本身就是为了统一兼容异构平台之间的协作 。
最后我们看看SOA和微服务的对比总结
从上面的对比,我们可以看到不能把任何问题都统一论之 。微服务有其适合的场景,若在一个复杂的社会关系体系下建立一套复杂的应用系统,微服务的架构思想就是无源之水了 。反倒是SOA架构思想就具备这种复杂体系下的生存条件,但是,例如放到很多互联网应用需要快速应对需求、敏捷迭代开发,灵活建立部署发布机制,那么SOA架构肯定就不适合了,这种环境正是微服务架构所适应的 。
因此我们可以总结到微服务在形式上与SOA很类似,在分布式环境中都是进行更多独立的服务、独立的部署,我们可以理解是SOA的继任者 。但是骨子里微服务又将SOA那一套沉重的前期规划、设计和分层实施的思路彻底打烂,形成了一个新的思想变种,灵活、敏捷、小巧,更适合团队密切的协作 。这就是进行了SOA基因的彻底改造,形成了更简化的一种分布式架构形态,尤其满足更为互联网化应用的需求 。
我是“读字节”专栏作者 西安技术创业者 大数据技术与分布式架构解读,创作,咨询;


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: