我读了很多关于ICE或Corba等技术中使用的仆人和对象的文章。我有很多资源可以阅读如下内容:
一个仆人可以处理多个对象(用于节省资源)。
一个对象可以由多个仆人处理(出于可靠性考虑)。
有人能告诉我这两个陈述的真实例子吗?
最佳答案
如果我没记错的话,这个术语是道格拉斯·施密特(Douglas Schmidt)在他的描述通用对象请求体系结构的论文中提出的。
这是一些定义的直接引述:
CORBA
因此,有客户端,服务器,客户端和服务器代理以及ORB核心。客户端和服务器使用代理通过ORB核心进行通信,ORB核心提供了一种机制,可将客户端请求透明地传递给目标对象实现。从客户端的角度来看,这使对远程对象的调用看起来像对象位于本地地址空间中,因此简化了分布式环境中客户端的设计。
综上所述,Servant是一种实现,它是远程客户端调用的调用目标,并且抽象了作为实际目标的远程对象。
关于您的问题,一个仆人可以处理对多个由Servant封装的分布式对象的调用。请注意,客户端不会直接访问这些对象,而是通过Servant来访问。