服务消息交换模式解析
1. 服务交互模式概述
在服务交互的场景中,存在多种交互模式,如同人们日常交流使用句子作为构建块一样,消息是服务交互的基本构建块。常见的服务交互场景类比到现实生活中,就像与销售代表沟通时,有以下几种可能的交互方式:
- 询问特定问题并获得回复(类似请求/回复模式)。
- 留下问题和电话号码,等待销售代表稍后回复(类似请求/反应模式)。
- 销售代表主动联系告知新产品信息(类似通信反转模式)。
- 通过来回发送电子邮件进行长时间通信,直至问题解决(类似传奇模式)。
这些核心交互模式在面向服务架构(SOA)出现之前就已存在,下面将从SOA的角度以及SOA的质量属性来探讨这些交互模式。
2. 请求/回复模式
2.1 问题描述
在开发单进程、单内存空间的单层软件时,组件间的交互相对简单。请求组件可以轻松获取被请求组件的引用,调用其方法并获取回复。然而,在SOA这种分布式系统架构中,组件通常位于不同的内存空间,甚至不同的机器上,这使得请求的处理变得复杂。
例如,在SOA环境下,请求者和服务者可能不在同一个地址空间,甚至不在同一台计算机或局域网内,这增加了请求处理的难度。虽然远程调用技术在SOA之前就已存在,但在SOA中使用这些技术的方式有所不同。
2.2 解决方案
为了实现两个远程组件之间简单的同步交互,可以从消费者发送请求消息,服务同步处理请求,并返回回复消息。请求和回复消息都属于接收服务的契约。
请求/回复模式是最基本的交互模式,不需要特殊组件,只需一段逻辑来接受请求、同步处理并返回结果。需要注
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



