|
|
知识路径: > 计算机软件与网络基础知识 > 系统配置与性能评价 > 多层结构、分布式系统 > 分布式系统 > 分布式系统设计 > 分布式系统设计的方式 >
|
相关知识点:2个
|
|
|
|
在这种方式中,所有的实例都处理自己范围内的数据,这些对象实例的地位是相同的,当一个对象实例必须要处理不属于它自己范围的数据时,必须和数据归宿的对象实例通信,请求另外一个对象实例进行处理。请求对象实例可以启动对象、调用远程对象的方法,以及停止运行远程实例。基于实例的协作具有良好的灵活性,但由于实例之间的紧密联系复杂的交互模型,使得开发成本提高,而且,由于实例必须能够通过网络找到,所以通信协议必须包括实例的生存周期管理,这使得基于实例的协作大多只限于统一的网络,对于复杂的跨平台的系统就难以应付。所以基于实例的协作适用于比较小范围内网络情况良好的环境中,这种环境常常被称为近连接。在这种情况下,对象的生存周期管理所带来不寻常的网络流量是可以容忍的。
|
|
|
使用基于实例的协作常常使用被称为“代理”的方法,某个对象实例需要调用远程对象时,它可以只和代理打交道,由代理完成和远程对象实例的通信工作:创建远程对象,提交请求、得到结果,然后把结果提交给调用的对象实例。这样,这个对象实例甚至可以不知道自己使用了远程对象。当远程对象被替换掉(升级)时,本地代码也无需修改。
|
|
|
|
|
|
|
|
|
|
|
|