SOA架构和微服务的区别与联系


前言

微服务和SOA的区别联系


一、区别与联系?

业务系统实施服务化改造之后,原本共享的业务被拆分成可共享的服务,可以在最大程度上避免共享业务的重复建设,资源连接瓶颈等问题,那么被拆分出来的服务是否也需要以业务功能为维度来进行拆分和部署,以降低业务的耦合及提高容错性呢?
微服务就是这样一种解决方案,从名字上看,面向服务(SOA) 和微服务本质上都是服务化思想的一种体现,如果SOA是面向服务化开发思想的雏形,那么微服务就是针对可重用业务服务的进一步优化,我们可以把SOA看成微服务的超集,一旦服务规模扩大就意味着服务的构建、发布、运维的复杂度也会成倍的增加,所以实施微服务的前提是软件交付链路及基础设施的成熟化,因此微服务在我看来并不是一个新的概念,它本质上是服务化思想的最佳实践方向,由于SOA和微服务两者的关注点不一样,造成了两者具有非常大的区别。

  • SOA关注的是服务的重用性及解决信息孤岛的问题。
  • 微服务关注的是解耦,虽然解耦和可重用性在一定角度来看是一样的,但本质上是由区别的,解耦是降低业务之间的耦合度,而重用性关注的是服务的复用
  • 微服务会更多的关注在DevOps 的持续交付上,因为服务粒度更加细化之后,使得开发运维更加重要,因此微服务与容器化技术的结合更加紧密
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐