程序员修神之路--为什么有了SOA,我们还用微服务?
菜菜哥,我最近需要做一个项目,老大让我用微服务的方式来做 那挺好呀,微服务现在的确很流行 我以前在别的公司都是以SOA的方式,SOA也是面向服务的方式呀 的确,微服务和SOA有相同之处 面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。它是一种设计方法,其中包含多个服务,服务之间通过相互依赖最终提供一系列的功能。 微服务架构:其实和 SOA 架构类似,微服务是在 SOA上做的升华,微服务架构强调的一个重点是“业务需要彻底的组件化和服务化”,原有的单个业务系统会拆分为多个可以独立开发、设计、运行的小应用。这些小应用之间通过服务完成交互和集成。 基于SOA架构的系统,模块在进行划分的时候,颗粒度比较粗,比如一个会员系统SOA,可能包含会员基本信息管理,会员关系管理,会员资产管理等模块,这些模块统一规划在会员管理服务,部署的时候也在相同的进程中。如果按照微服务的理念来做架构设计的话,会员关系管理可能会是一个独立部署的服务,其他模块类似。是否需要独立,架构师需要根据这个模块的业务来决定,需要考察这个模块是否有独立的必要性。 有的时候,一个系统的领域边界划分在SOA和微服务中可能相同。SOA和微服务本质上有着相同的架构思想,但是微服务根据业务形态又引入了组件化和领域建模的架构理念,在多数的应用场景中比SOA有着更易维护,扩展方便的优点。 没太听明白,SOA和微服务有什么相同和不同吗 相同点和不同点都很多