求教:如何做下游 RPC 返回结果的业务监控

查看 15|回复 0
作者:lvxiaomao   
背景
目前代码不可避免的调用下游 rpc ,并拿到 response 做解析;
目前有想到的就是 2 种方式:
第一种,重复劳动 如果成功则解析结果;如果失败做监控打点;代码如下:
public List functionName(List ids) {
    if (CollectionUtils.isEmpty(ids)) {
            return Collections.emptyMap();
    }
    Request req = new Request();
    try {
            Response resp = rpcClient.rpcFuction(req);
            if (resp.success) {
                    // 处理返回值
            }  else {
                    log.error("打印 error 日志");
                    cat.xxxx; // 做业务打点,做监控
            }
    } catch (Exception e) {
            log.error("打印 error 日志");
    }
            return Collections.emptyMap();
}
第二种:定义 function ,把对下游 rpc 的调用放到 function 统一处理
目前更倾向第二种方式,但是想知道还有更好的方式吗?
您需要登录后才可以回帖 登录 | 立即注册

返回顶部