分布式对象第一定律
2004-11-02 09:21
232 查看
分布式对象设计第一定律:不要分布式使用对象。
1. 性能的问题:进程内的调用非常快,两个独立进程间的过程调用慢了一个数量级,在不同机器间运行过程又要慢一两个数量级。异步的、基于消息的处理方式可能比同步的、基于RPC的处理方式更好!
2. 接口的问题:远程使用的对象接口与在同一个进程内本地使用的对象接口不一样,前者最好是细粒度接口,而后者则应该是粗粒度接口,因为后者不是为了灵活性和可扩展性而是为了减少方法调用的次数而设计的接口。可以在一个进程内使用细粒度对象进行设计,而在分布式边界上使用粗粒度对象,充当细粒度对象的外观。
3. 安全的问题:基于RPC的分布组件接口存在安全隐患,而基于XML的SOAP接口则可以使建立在不同平台上的系统实现更安全可靠的相互通信,但是把所有传输数据转化为XML将会增加可观的开销。
1. 性能的问题:进程内的调用非常快,两个独立进程间的过程调用慢了一个数量级,在不同机器间运行过程又要慢一两个数量级。异步的、基于消息的处理方式可能比同步的、基于RPC的处理方式更好!
2. 接口的问题:远程使用的对象接口与在同一个进程内本地使用的对象接口不一样,前者最好是细粒度接口,而后者则应该是粗粒度接口,因为后者不是为了灵活性和可扩展性而是为了减少方法调用的次数而设计的接口。可以在一个进程内使用细粒度对象进行设计,而在分布式边界上使用粗粒度对象,充当细粒度对象的外观。
3. 安全的问题:基于RPC的分布组件接口存在安全隐患,而基于XML的SOAP接口则可以使建立在不同平台上的系统实现更安全可靠的相互通信,但是把所有传输数据转化为XML将会增加可观的开销。
相关文章推荐
- 微服务和分布式对象第一定律
- 分布式对象第一定律
- 分布对象设计第一定律~
- Memcached 高性能分布式对象缓存系统
- [.net 面向对象程序设计进阶] (25) 团队开发利器(四)分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境【转】
- 分布式对象的隐喻
- Csla.net 分布式应用程序、采用对象工厂、登录功能演示 C/S模式
- 分布式对象存储Ambry(3)源代码结构与改造调试
- 分布式对象存储Ambry(4)Ambry-Server模块源代码解析(启动与整体通信工作篇)
- 黑马程序员--第一阶段3.面向对象--第6天
- Atitit 分布式之道 attilax著 第4章 通信 第7章 一致性和复制 第8章 容错性 第9章 安全性 第10章 基于对象的分布式系统 第11章 分布式文件系统 第12章 基于Web的分
- 实体对象、值对象和接口三者之间关系的六条定律
- 【toplink】 位居第一的Java对象关系可持续性体系结构
- [redis读书笔记] 第一部分 数据结构与对象 压缩列表
- 程序员第一定律:关于技能与收入
- [redis读书笔记] 第一部分 数据结构与对象 对象特性
- 高性能的分布式内存对象缓存系统-Memcached简介
- Terracotta - 分布式共享对象
- 分布式版本控制系统Git------git工作区和主要对象
- 大数据学习笔记之二十二 云存储的分布式对象存储和分布式块存储