面向服务架构(SOA)已经存在有些年头了,这是一种用于设计软件的伟大原则。在SOA中,所有组件都是独立自主的,并能为其他组件提供服务。要替换掉系统中的某些部分而不对整个系统造成较大的影响本是个难题,然而只要维护好系统各模块之间的低耦合,该难题便能迎刃而解,这也是我们之前谈及微服务时所认可的。大体上,SOA与微服务架构是非常相像的。那么它们之间的区别到底是什么呢?微服务是细粒度的SOA组件。换句话说,某单个SOA组件可以被拆成多个微服务,而这些微服务通过分工协作,可以提供与原SOA组件相同级别的功能,如下图所。 微服务是细粒度的SOA