Windows 10学习:冰引擎位置透明性与并置调用优化

需积分: 35 44 下载量 117 浏览量 更新于2024-08-10 收藏 6.47MB PDF 举报
位置透明性是Windows 10中的一个重要特性,特别是在使用Internet Communications Engine (Ice) 这种分布式计算框架时。Ice的这种特性使得客户端应用程序无需关心服务的物理位置,无论服务是在本地、同一台机器上的其他地址空间还是远程机器的地址空间,调用都会自动路由到正确的目标。这极大地提高了系统的灵活性和可扩展性,使得开发者可以在不影响客户端代码的情况下,随时调整服务的部署位置。 在Ice运行时,跨地址空间的调用会通过合适的传输机制进行处理,确保数据的可靠传输。然而,当调用者和被调用者在同一通信器内(即并置调用)时,为了提高效率,Ice会采取特殊策略。默认情况下,冰并不会通过代理中指定的传输机制发送请求,而是采用所谓的“走捷径”方式,直接在本地执行,从而避免了额外的TCP/IP连接建立、封装和系统内核切换等开销,使得并置调用接近于本地函数调用的速度。 值得注意的是,虽然并置调用在效率上表现出色,但它并非完全的位置透明,因为它的语义与常规跨地址空间调用存在微妙差别。特别是当代理和servant使用不同通信器时,即使在相同的地址空间内,调用也会被视为非并置调用,这体现了位置透明性和并置调用之间的权衡。 Ice是一种分布式程序设计工具,专为网络应用提供高性能、低延迟和可扩展性的解决方案。它由多个知名人士共同贡献,包括Michi Henning、Mark Spruiell等。本书《Ice分布式程序设计》深入介绍了Ice的基本概念、架构以及使用方法,包括Ice架构的组成部分,如服务端的servant、代理以及如何实现位置透明性。此外,书中还提到了版权信息、作者声明以及第三方库的使用,如BerkeleyDB、bzip2、OpenSSL等。 在阅读本书时,读者需要注意文档中的一些未完成部分,这些内容将后续添加。整个章节结构清晰,适合系统学习Ice编程,同时提供了丰富的示例和联系方式供读者寻求帮助或提供反馈。对于Ice的支持和更新,可以通过官方邮件或网站获取。