加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

代理者模式——学习笔记

发布时间:2020-12-17 01:17:51 所属栏目:安全 来源:网络整理
导读:代理者系统结构模式可以用来构建带有隔离组件的分布式系统,该软件通过远程服务调用进行交互。代理者组件负责协调通信,诸如消息转发,以及传回结果和异常。 我所知的一个应用代理者模式的架构是SOA。 1. 例子 分布式的城市信息系统。 2. 语境 系统由独立的

代理者系统结构模式可以用来构建带有隔离组件的分布式系统,该软件通过远程服务调用进行交互。代理者组件负责协调通信,诸如消息转发,以及传回结果和异常。

我所知的一个应用代理者模式的架构是SOA。

1. 例子

分布式的城市信息系统。

2. 语境

系统由独立的、相互协作的、分布式的、异构的组件构成。

3. 问题

构建一个复杂的软件系统,它是由独立的和互操作的组件构成,而不是一个整体的应用程序,从而使系统具有可维护性,可变更性和灵活性。通过将系统分割为多个组件,系统变得可分布和可扩展。可以参考SCA(服务组件架构)。

  1. 对客户隐藏服务提供者信息:比如他的地址,开发语言等。
  2. 组件在运行期可替换,移动,更改,而对客户无影响。
  3. 能够通过远程调用服务。

4. 解决方案

通过引入代理者组件来隔离客户端和服务提供端,对客户隐藏服务端的细节。服务器向代理者注册自己的服务,客户端通过向代理者发送请求调用服务,代理者根据服务请求决定服务提供者,并且将请求路由到服务提供者。最后返回结果给客户端。

5. 结构

分为:客户机,服务器,代理者,客户端代理和服务端代理,网桥。

  1. 服务器是服务的提供者,它们可能使用不同的技术构建,也就是它们可能是异构的。它们启动后向代理者注册服务。
  2. 客户机调用服务,向代理者发送请求。考虑一种情况,服务器也可能是客户端,这出现在它需要调用其他的服务端情况下。
  3. 代理者:接收服务器的服务注册,接收客户端的服务请求,并路由的指定的服务器。
  4. 客户端代理和服务代理:是他们的一个小的模块,用来隐藏代理。它可以由代理者提供。
  5. 网桥:连接多个代理者。以构成更复杂的系统。

这种结构和SOA非常相像。SOA中的代理其实就是服务总线。

6. 动态特性

7. 实现

  1. 定义一个对象模型。
  2. 确定使用哪种方法公开服务。
  3. 指定代理者组件提供给客户端和服务端的API。
  4. 用代理对象对客户端和服务器隐藏细节。
  5. 开发IDL编译器。其实可以使用webservice。

8. 已解决的例子

9. 变体

  1. 直接通信代理者系统:代理者将通信通道开放给客户端。
  2. 消息传送代理者系统:举个简单的例子,客户端发送一个服务请求,这个请求是一个消息,代理收到消息后,根据消息的类型转发至不同的服务器。服务器在具体解析这个请求。
  3. 交易器系统:客户机的请求被唯一的转发至目标服务器。
  4. 适配器代理者系统:应对异构的服务器,分别提供代理者的适配器,以对服务器隐藏代理者的接口,实现灵活性。
  5. 会叫代理系统:反应式模型是事件驱动的,一旦事件到来,代理主将调用已注册的方法来对事件作出反应。

10. 已知应用

11. 效果

优点:

  1. 对客户端隐藏服务器的信息:位置,接口格式等。
  2. 服务组件的可变性和可扩展性。
  3. 代理者系统的可移植性。
  4. 不同代理者之间的互操作性。
  5. 可重用性。

缺点:

  1. 效率受限
  2. 容错性差。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读