上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.2.1 SOA的定义
SOA(Service-Oriented Architecture,面向服务架构)是一种粗粒度的、松耦合的、面向服务的架构,在架构中使用一个标准的通信协议,通过网络提供应用程序的业务功能服务,且服务都是完全独立部署和维护的,并且可以组合使用。一个SOA的服务应该有以下几个特点。
(1)逻辑上代表某项具有指定结果的业务活动。
(2)服务是独立的。
(3)对消费者而言,服务是黑盒的(黑盒是指一个只知道输入输出关系而不知道内部结构的系统或设备)。
(4)一个服务可以包含其他基础服务,一个SOA服务可以组合其他服务使用。
例如,某商城的SOA示意图如图1.2所示。
图1.2 某商城的SOA示意图
从图1.2中可以看出,SOA的几个特点还是很明显的。首先,每个服务都代表着一个业务活动;其次,每个业务活动都是相对独立的,并且通过一个统一的数据总线进行交互;最后,一个服务可以包含多个基础服务。这样看来,SOA似乎和微服务不太一样,虽然概念看起来很相似,但为什么实际架构会有这么大的差别呢?下面将仔细梳理两者的概念,看看概念上是否真的相似。