面向服务的体系结构
SOA是一个组件模型,它将应用程序的不同功能单元(服务)通过这些服务之间定义良好的接口和契约联系起来,以一种统一和通用的方式进行交互。
SOA与微服务的区别
- 微服务相比于SOA更加精细
- 微服务提供的接口更加通用化
- 微服务更倾向于分布式去中心化的部署
SOA的参考架构
IBM的Websphere架构,分为六大类:
- 业务逻辑服务:业务逻辑
- 控制服务:人、流程、信息的集成
- 连接服务:企业服务总线
- 业务创新和优化服务:业务性能
- 开发服务:软件开发生命周期
- IT服务管理:基础设施
SOA的主要协议和规范
- UDDI协议:统一描述、发现和集成协议。通过UDDI注册或查找服务。
- WSDL Web服务描述语言:服务做什么、如何访问服务、服务位于何处
- SOAP协议:服务间交换信息的简单的协议
- REST规范
SOA的作用与原则
作用:打破信息孤岛,将应用和资源转换成服务。
原则:
- 无状态
- 单一实例
- 明确定义的接口
- 自包含和模块化
- 粗粒度
- 服务之间松耦合性
- 重用能力
- 互操作性、兼容和策略声明
SOA的设计模式
- 服务注册表模式
- 企业服务总线模式
- 微服务模式
- 复杂应用解耦
- 独立
- 技术选型灵活
- 容错与故障隔离
- 松耦合,易扩展
- 微服务架构模式方案
- 聚合器微服务
- 链式微服务
- 数据共享微服务
- 异步消息传递微服务