我一直在使用DRb作为我的解决方案来跨多个流程进行通信。我正在使用标准进程:一个创建服务,将其注册到druby uri,另一个进程创建一个引用该URI的DRbObject。到现在为止还挺好。假设我杀了第一个进程。对远程对象的每个后续方法调用都将以ECONNRefused异常结束。这是公平的。但是,有没有办法看看DRbObject是否确实在给定的URI中注册了?我认为通过在每个实例上强制执行ECONNRefused来测试它,看它是否存在有点傻。
当然,其他涉及DRb以外资源的解决方案总是受欢迎的,前提是它们确实代表了一个优势。