|
知识路径: > 计算机软件与网络基础知识 > 系统配置与性能评价 > 多层结构、分布式系统 > 分布式系统 > 分布式系统设计 > 分布式系统设计的方式 >
|
相关知识点:2个
|
|
|
|
这种方法试图解决基于实例的协作的困难。它只提供远程对象的接口,用户可以调用这些方法,却无法远程创建和销毁远程对象实例。这样就减少了交互,简化了编程,而且使得跨平台协作成为可能。同样由于只提供接口,这种协作方式使得对象间的会话状态难以确定,而且通信的数据类型也将有所限制,基本上很难使用自定义的类型。基于服务的协作适用于跨平台的网络,网络响应较慢的情况,这种环境常称为远连接,这时,简化交互性更为重要,而频繁的网络交换数据会带来难以容忍的延时。
|
|
|
基于服务的协作通常采用层次式架构,高层的应用依赖于低层的对象,而低层对象实例的实现细节则没有必要暴露给高层对象,这种安排使得高层的实现不受低层实现的影响,同时,当低层服务修改时,高层服务也不应该受到影响。
|
|
|
架构设计师在进行设计时,通常会倾向于比较细致的设计,对象往往提供了大量操作和方法,响应许多不同的消息,以增强系统灵活性、可维护性等。这在单个系统中没有什么问题,当考虑分布式系统的设计时,这种细致的设计所带来对对象方法的大量调用会比较严重地影响性能,所以在分布式系统中,倾向于使用大粒度的设计方式,往往在一个方法中包含了许多参数,每个方法基本上代表了一种独立功能。当然这样的设计使得参数的传递变得复杂,当需要修改参数时,需要对比较大范围的一段过程代码进行修改,而不是像小粒度设计那样,只需要修改少量代码。
|
|
|