15.8 SOA的设计模式
15.8.1 服务注册表模式
服务注册表 (Service Registry) 主要在SOA 设计时段使用 , 支持驱动 SOA治理的服务合同、策略和元数据的开发、发布和管理。 注册表可以包括有关服务和相关软件组件的配置、遵从性和约束配置文件。
主要的服务注册厂商 :
纯SOA厂商:提供服务、策略和元数据注册表及信息库
SOA平台厂商:提供集成产品套件
SOA治理功能:
1.服务注册:向注册表发布功能
2.服务位置:查询注册服务,寻找合适服务
3.服务绑定
15.8.2 企业服务总线模式
企业服务总线 (Enterprise Service Bus, ESB) 是提供一种标准的软件底层架构 , 由中间件技术实现的支持面向服务架构的基础软件平 台,支持异构环境中的服务以基于消息和事件驱动模式的交互,并且具有适当的服务质量和可 管理性。
ESB的核心功能如下。
(1)提供位置透明性的消息路由和寻址服务。
(2)提供服务注册和命名的管理功能。
(3)支持多种消息传递范型(如请求/响应、发布/订阅等)。
(4)支持多种可以广泛使用的传输协议。
(5)支持多种数据格式及其相互转换。
(6)提供日志和监控功能。
15.8.3 案例研究
协同企业服务总线 SynchroESB 基于 SOA体系结构,以ESB 为底层架构,包含丰富的 预制程序组件,集中式管理工具和可视化应用程序开发界面的服务整合软件平台。
系统分为4个层次,从低至上:
1.服务总线层:为整个EAI应用提供底层支持
2.数据转换与适配器层:为各种EAI应用提供接入功能
3.流程控制层:将不同应用系统连接,进行协同工作,并提供业务流程管理的相关功能
4.应用工具层:为用户提供统一的功能入口
15.8.4 微服务模式
1.微服务架构概述
微服务架构围绕业务领域将服务进行拆分,每个服务独立进行开发、管理、迭代。
特点:
复杂应用解耦、独立、技术选型灵活、容错、
松耦合、易扩展
2.微服务架构模式方案
微服务是一张新型架构风格,是一种设计思想。
常见的微服务设计模式有聚合器微服务设计模式、代理微服务设计模式、链式微服务设计模式、 分支微服务设计模式、数据共享微服务设计模式、异步消息传递微服务设计模式等。
3.微服务架构面临的问题与挑战
主要缺点:
微服务架构带来的复杂性,
分区数据库体系,不同服务使用不同数据库,只能最终一致性
系统测试带来挑战