中文全称面向服务架构。它不是一种技术,而是一种解决问题的思考方式。它旨在搭建一种粗粒度、松耦合的以服务为中心的架构,接口之间通过定义明确的协议和接口进行通信。那么什么是服务呢?我们可以依据单一职责原则(Single Responsibility)来尝试解释:
把因相同原因而变化的东西聚合到一起,把因不同原因而变化的东西分离开。
而这些可以聚合到一起的可以说就是一个服务。对于一个业务系统而言,我们也可以先简单地根据业务的边界来确定服务的边界。
回过头来总结一下,那么SOA就是一个包含多个服务,服务之间通过配合对外提供一系列功能的架构。每个服务独立部署,服务之前通过网络调用。
那么SOA的落地实现有哪些呢?