分布式编程模式中的租约、事务和分布式事件机制
http://tech.ddvip.com 2006年11月24日 社区交流
本文详细介绍分布式编程模式中的租约、事务和分布式事件机制
Jini 技术面向网络及分布式计算的特性决定了Jini技术必然与传统的单机系统在许多方面有概念上和实际应用中的差别。如网络的延迟、失败,或者设备的突然撤出,将导致信息的无序和丢失;资源的获得、保存、维护和回收情况更为复杂;不同实体之间通讯和协调工作的可靠性及效率并不像单机系统中那样较为容易地获得保证。因而在 Jini 中以 Java 为基础加入了分布式编程模式,特别是引入了租约、分布式事务和分布式事件。
租约
租约的基本概念是资源只能被使用一段时间,这由租约的持有者(lease holder)和租约的授权者(lease grantor)协商决定。
租约接口的目标是为分布式系统和应用程序提供一种特别的编程风格。这种编程风格是当某对象首次对该资源访问时,由这两个对象先协商,最后授权对资源进行某段时间的使用。
在非分布式系统中,资源或服务将被授权直到被明确释放或放弃,这种编程模式在分布式系统中注定要失败,原因是不能保证放弃对资源或系统的使用是肯定成功的,这将导致系统的这部分资源永远不会被释放。
为避免此类问题而引入了租约的概念。在租约中被租用的资源或服务的授权是基于时间的。一旦租借时间期满,服务就将结束,资源将被释放。租约的期限在第一次授权时决定,由租约的授权者和接收者采用request/response方式协商。租约可以在期满前续约或取消。期满时,双方认为服务或资源已回收。
租约概念的引入也可以用于解决分布式系统面临的另一个问题。连续开机的分布式系统趋向于积累过时和不必要的信息,解决这种问题的常规方法是把清理无用资源作为一项系统管理员的任务。然而,当这种资源被租用时,就不会发生过时信息的积累,也不再需要以手工方法清除。租用的信息或资源仅在租约续约时才保存在系统中。因此被遗忘的信息经过有限时间后将被删除。
责编:豆豆技术应用
正在加载评论...