SOA模式短文推荐

来源:互联网 发布:135端口怎么用 编辑:程序博客网 时间:2024/06/10 06:29

SOA模式短文推荐

强烈推荐SOA爱好者下载收藏《SOA Pattern》一文,又有精品全文《SOA Design Pattern》推荐下载

 


作者将模式分为三类:(1)基本服务模式,是最小粒度的服务模式,已经无法再次拆分,可以认为是模式原语,多用在服务层面使用。(2)架构模式,通用的SOA系统设计要素,多用在系统设计时,做为架构风格的一个元素。(3)复合模式,基本服务模式的组合,用来定义系统的衔接特征,多用在应用系统整合场景。下面按照自己的理解和使用经验,简单说明一下,具体的介绍还请研究原文。

基本模式说明:

  1. Aggregator:将多个独立的消息体通过该计算组件组合为一个消息体。
  2. Service Bus:将多个独立的系统(已有系统、新系统)通过统一机制整合起来。
  3. Dynamic Routing:与规则库配合,实现一个消息体的路由,实现上常采用基于消息头路由、基于内容路由2中情况。
  4. Event-Driven Consumer:常用在资源有限的场景,解决资源竞争的问题,例如,网络接入时,系统所能接收到socket有受限的,此时即可通过该模式解决。
  5. Filter:消息内容的过滤,例如,关键字过滤,也可用在信息补全场景。
  6. Router:将消息发送到不同的应用,与Dynamic Routing的区别在于,此时规则是固定的,常常有2中使用方式,单播、多播。
  7. Translator or Transformer:用在消息格式的转换场景。

架构模式说明:

  1. Asynchronous Processing:异步事件风格解决服务之间的交互,例如,ATM到银行账务系统,多用该模式。在实践中,也鼓励使用这种风格,实现SOA,以弱化一致性、事务性,缓解资源受限等场景,该模式需要业务配合才能完全发挥。
  2. Bridge:常用在2中体系之间的交互,把一种协议转换为另一种协议。它与Translator的区别在,Translator是针对消息的,它针对链路。
  3. Cross-Service Operation:把多个服务封装为一个服务来使用,以确保一致性、事务性,可以把该风格弱化为分布式事务风格。
  4. Event-Driven Dispatching:基于事件的派发,常用在pub/sub场景。
  5. Process Aggregation:把多个过程聚合在一起,按照一定顺序进行消息处理,此时不要求一致性,每个过程都是独立的,用BPM技术更容易理解该场景。
  6. Routing and Filtering:实现一个消息的多种渠道应用,例如,一个业务通知,通过Mail,IM、SMS、语言、甚至特殊应用传达给用户的场景,一个产品为多个渠道提到内容的场景。
  7. Replicator:实现一份消息,服务处理的时候,同时往数据库复制一份,例如,数据备份容灾、数据采集、数据审计等。

复合模式说明:

  1. Centralized Schema:解决跨应用边界的数据共享问题。
  2. Concurrent Contracts:解决一个服务多个消费者时,每个消费者接口不同的问题。
  3. Decomponse Capability:??
  4. Enterprise Service Bus:通过一个消息总线,解决应用整合的问题,化解复杂的网状链接。
  5. Fault-Tolerant Service Provider:通过负责均衡解决服务高可靠性的问题。
  6. Wrapper:解决传统应用服务化的问题。
原创粉丝点击