"接口的映射-数据中心虚拟化技术权威指南 高清 电子书 下载pdf"
在《数据中心虚拟化技术权威指南》中,我们关注的是接口的映射和运行时异常的处理,特别是与Ice分布式程序设计相关的部分。Ice是一种用于构建分布式应用的中间件,它提供了一种高效、灵活的方式来映射Slice接口,使得远程过程调用(RPC)如同本地调用一样简单。
6.10 运行时异常的映射
Ice运行时遇到预定义的错误时,会抛出异常。所有的运行时异常都是从Ice::LocalException派生,而LocalException本身是从Ice::Exception派生。Ice::LocalException包含了一些实用的成员函数,如ice_name用于获取异常的名称,ice_clone用于创建异常的副本,ice_throw用于重新抛出异常,还有从Ice::Exception继承来的ice_print、ice_file和ice_line,分别用于打印异常信息、获取异常发生时的文件名和行号。
异常处理的策略可以通过捕获异常的不同层级来实现。最顶层的异常是Ice::Exception,捕获它会同时捕获运行时和用户异常。接着是Ice::UserException,仅捕获用户自定义的异常。然后是Ice::LocalException,用于捕获所有运行时异常。特定的异常如Ice::TimeoutException和Ice::ConnectTimeoutException提供了更细粒度的错误处理,前者用于处理操作调用和连接建立的超时,后者则针对首次连接尝试超时的情况。通常,直接捕获这些特定异常的场合不多,大部分情况下,开发者会关注更高级别的异常处理。
6.11 接口的映射
Ice的接口映射设计的核心理念是,调用远程操作就像调用本地对象的成员函数一样。这种映射方式使代码易于理解和使用,因为远程过程调用(RPC)在逻辑上与本地调用几乎没有差别,除了错误处理机制。通过调用本地代理类的成员函数,就可以发起对远程对象的操作,这个代理类代表了远程的对象。这种方法降低了分布式编程的复杂性,提高了开发效率。
这本书还提到了其他贡献者以及第三方库的使用,如BerkeleyDB、bzip2、OpenSSL、SSLeay和Expat,它们是Ice实现的一部分。此外,书中强调了对错误和遗漏不承担责任,并提供了联系作者和获取Ice支持的方式。
总而言之,《数据中心虚拟化技术权威指南》深入讲解了Ice的运行时异常处理和接口映射机制,对于理解如何在分布式环境中有效地处理异常和设计易用的接口具有重要价值。