远程调用rpc的时候 远程的异常如何处理

远程调用rpc的时候 远程的异常如何处理?

返回 错误码+错误描述

这个和RPC协议定义有关系了,一般RPC协议会有错误码的,比如0是正常,其他是错误码,并且附带errMsg
如果 远程rpc是层层调用的,就层层返回,可以加入分布式 追踪系统

设置 RPC timeout

下面是用Future.get(timeout)和Future.cancle()如何中断一个运行中的超时的示例

Callable call = ()->{
    ...
    return 0;
};
ExecutorService es = Executors.newFixedThreadPool(1);
Future f1 = es.submit(call);
try {
    f1.get(3,TimeUnit.SECONDS);
}catch (Exception e){
    e.printStackTrace();
    f1.cancel(true);
}

你可能感兴趣的:(设计模式,配置,规范,基础,集群)