代码之家  ›  专栏  ›  技术社区  ›  Stefano Borini

SUNRPC机制作为客户端调度程序服务器体系结构的局限性及与代理的比较

  •  2
  • Stefano Borini  · 技术社区  · 14 年前

    我正在读一本关于设计模式的书(旧版)“ Pattern-oriented software architecture “。在专用于客户机调度程序服务器的章节中,SUNRPC被引用为客户机调度程序服务器体系结构,在客户机-服务器协商中,portmapper充当调度程序。虽然我或多或少知道sunrpc的工作原理,但实际上我从未使用过它。

    我有三个问题:

    • SUNRPC作为客户机调度程序服务器机制的软件限制(在接口和特性方面)是什么?
    • 今天有哪些相似的更好的系统可以实现相同的客户机调度程序服务器体系结构(不管语言如何)?
    • 代理架构和客户机调度程序服务器架构之间的内在区别是什么?

    我确实意识到问题是多而复杂的。我考虑将问题分解成独立的问题,但本文的重点是一般的架构原则和局限性,其中一个特定的例子(SUNRPC)是典型的例子。出于这些考虑,我先发制人地宣布,无论我在宽限期内对回答的满意程度如何,只要有机会,我将立即给予100人代表奖金。

    2 回复  |  直到 14 年前
        1
  •  1
  •   DomQ    14 年前

    这个术语是不寻常的(至少对我来说),也许这就是为什么你没有得到很多回应的原因。由…判断 diagram on page 327 客户端调度程序服务器意味着在连接时重定向到真正的服务器,而代理在整个通信中进行干预。( page 109 )?假设这一点,现代术语将分别是“重定向”(或“名称服务”或“目录服务”等)和“代理”。主要的区别在于延迟和可用性之间的权衡,即代理可以在服务器死亡时进行修补,而调度员则不行;但是代理可以在管道中添加少量的处理时间。

    这两种模式的现代实例都可以在大量的网站上找到:它们通常会使用 round-robin more sophisticated 负载平衡DNS服务(调度程序)以及缓存 reverse proxies (经纪人)

    我不太了解sunrpc及其局限性,我也不知道它是否可以循环使用(搜索google portmap load balancing “没有发现任何东西。portmapper表中的一个条目通常指向运行在同一主机上的单个服务器,也就是说,该机制主要用于避免分配 well-known TCP ports 到SUNRPC服务。

        2
  •  1
  •   Paul Rubel    14 年前

    这是一组很好的问题。你可以试试 siemens-patterns 列表作为UIUC。最后,我知道它的音量很低,但那里有许多精明的人,甚至一些作者。你可以请求并分享你的启示。