首页 百科知识 连接器()

连接器()

时间:2022-10-09 百科知识 版权反馈
【摘要】:由于组件的网络通信是由一个连接器来管理的,所以在多个交互之间能够共享信息,以便提高效率和响应能力。也就是说,无论之前有任何其他请求,每个请求都包含了连接器理解该请求所必需的全部信息。主要的连接器类型是客户端和服务器。两者之间的本质区别是:客户端通过发送请求来发起通信;服务器侦听连接并对请求作出响应,以便为其服务提供访问的途径。一个缓存通常在使用它的连接器的地址空间内实现。

5.4.2 连接器(Connectors)

REST使用多种不同类型的连接器来对访问资源和转移资源表述的活动进行封装。连接器代表了一个组件通信的抽象接口,通过提供清晰的关注点分离并且隐藏资源的底层实现和通信机制,从而改善了架构的简单性。接口的通用性也使得组件的可替换性成为了可能:如果用户对系统的访问仅仅是通过一个抽象的接口,那么接口的实现就能够被替换,而不会对用户产生影响。由于组件的网络通信是由一个连接器来管理的,所以在多个交互之间能够共享信息,以便提高效率和响应能力。连接器分类见如表5-3所示。

表5-3 REST的连接器

img44

所有的REST交互都是无状态的。也就是说,无论之前有任何其他请求,每个请求都包含了连接器理解该请求所必需的全部信息。这个约束能够实现四个功能。

1)它使得连接器无需保存请求之间的应用状态,从而降低了物理资源的消耗并改善了可伸缩性;

2)它允许对交互进行并行处理,处理机制无需理解交互的语义;

3)它允许中间组件孤立地查看并理解一个请求,当需要对服务作出动态安排时,这是必须要满足的;

4)它强制每个请求都必须包含可能会影响一个已缓存响应的可重用性的所有信息。

连接器接口与过程调用有些类似,但是在参数和结果的传递方式上有着重要的区别。从一种抽象的观点来看,调用是同步的,但是传入参数和传出参数都可以作为数据流来传递。换句话说,处理可以在完全知道参数的值(即数据流的全部数据)之前进行,从而避免了对于大量数据转移进行批量处理而产生的延迟。

主要的连接器类型是客户端和服务器。两者之间的本质区别是:客户端通过发送请求来发起通信;服务器侦听连接并对请求作出响应,以便为其服务提供访问的途径。一个组件可能包括客户端和服务器两种连接器。

第三种连接器类型是缓存连接器,可以位于客户端或服务器连接器的接口处,以便保存当前交互的可缓存的响应,这样它们就能够被以后的请求交互来重用。客户端可以使用缓存来避免重复的网络通信,服务器可以使用缓存来避免重复执行生成响应的处理,这两种情况都可以减小交互的延迟。一个缓存通常在使用它的连接器的地址空间内实现。一个缓存有能力确定一个响应的可缓存性(Cacheability),使得交互变成是可缓存的、不可缓存的或者仅在有限时间内是可缓存的。

一个解析器负责将部分或完整的资源标识符翻译成创建组件间连接所需的网络地址信息。

连接器类型的最后一种形式是隧道,它简单地跨连接的边界对通信进行中继。隧道作为REST的一部分来建模,而不是作为网络基础设施的一部分来进行抽象,唯一的原因是某些REST组件可能会动态地从主动的组件行为切换到一个通道。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈