Distributed Systems: Principle and Paradigms 2nd 读书笔记 (一)

分布式系统的目标

 

  1. Making resources accessible

    分布式系统的主要目标就是要让使用者可以方便的获取各类的资源,其他的计算机,打印机,文档,数据,存储设备等等。这里除了有一定的经济意义,还有方便使用者之间的合作意义。

    但同时在方便的获取这些资源的时候,还会碰到信息安全的问题,例如,信用卡信息泄露,垃圾邮件,隐私泄露等等


  2. Distribution Transparency

    分布式系统的一个重要目标就是将其物理上对于资源是分布式分配的这一事实隐藏起来(对于使用者来说就是透明),也就是对于使用者来说一个分布系统和一台计算机是一回事儿。

    资源的Transparency (透明)的种类包括,获取,存储,整合,重置,替代,同步,错误处理;
    同步透明,假设两个使用者同时对有一个共享的数据库进行访问,最好的效果就是每个使用者在都不知道对方正在使用的情况下,完成对数据库的操作,并且操作的结果要符合数据的一致性

    然而追求完美的透明是不现实的,有时候因为客观的条件,不得不舍弃某些程度的用户透明度。

  3. Openness

    分布式系统的另一重要目标是开放。一个开放的分布式系统是一个提供符合一套标准语法和语义规则服务的系统。
    这些规则一般是通过接口描述语言来描述的,IDL(Interface Definition Language)
    语法:就是描述服务的接口,参数,可能的异常,返回值等等
    语义:描述服务的功能,然而这又和自然语言是不同的(semantic web 语义网解决的问题)

    Completeness and neutrality are important for interoperability and portability.
    完整性和中立性,对于系统间的交互的可能以及移植的可能来说是十分重要滴~~

    开放的另外一个特性就是必须方便的进行添加或者修改系统的组件。

    Separating Policy from Mechanism
    将策略从机制中分离

    这里需要系统的组织高度的接口化,并且尽量的小巧以及方便的替代和与其他组件适应。

    文中使用的例子是,用户希望将浏览的内容缓存起来以方便以后浏览,很明显这是一个缓存机制。实现的策略可以有很多种,可以有一个非常泛泛的实现,既然是缓存,那就浏览什么缓存什么。也给用户提供尽可能多的参数供他选择,比如使用什么作为缓存的存储,缓存何种类型的内容,缓存的大小等等,策略分的非常的细小。

  4. Scalability

    可扩展性是分布式系统的另外一个重要目标,可分为系统大小的扩展,地理上的扩展,以及管理上的扩展。

你可能感兴趣的:(System)