1.对象分发的诱惑:中间件的对象分发对于上层透明非常有用,但是跨进程、跨机器(和网络)调用影响性能!2.远程接口和本地接口: 1)远程访问对象需要使用粗粒度接口,而本地访问对象需要使用细粒度接口(优化性能时,本地接口可以提供粗粒度对象) 2)基于1),单进程中设计的类不能迁移到分布式模型环境 3)分布式对象设计第一定律:不要分布式对象! 4)如何有效利用多处理器资源:使用集群系统(在每个处理器上部署所有对象,每个处理器上的对象只需要使用本地调用->运行速度更快,并且可以使用细粒度界面设计对象模型)3.必须使用分布式 1)传统的客户端/服务器架构 2)应用软件和数据库 3)web服务器和应用服务器(指的是webService?我不明白!) 4)不同厂商的软件包4.关于分布边界 1)远程外观:进程中使用细粒度对象,分布边界上放置粗粒度对象 2)数据传输objects:一般只引用其他数据传输对象和一些原始类型的对象比如字符串 3)Proxy:使用延迟加载来传输对象5.分发接口 1)如果两个系统使用同一个平台构建,使用系统自带远程调用机制,效率更高!(虽然web服务是跨平台的,但是来回传输数据增加了很多开销) 2)使用http协议和远程面向对象的API(不知道怎么玩) 3)异步,基于消息的处理
