class CloudServerUtil {

    public static EruptCloudServer.Proxy findEruptCloudServerAnnotation() {
        EruptCloudServer eruptCloudServer = EruptApplication.getPrimarySource().getAnnotation(EruptCloudServer.class);
        return null == eruptCloudServer ? null : EruptSpringUtil.getBean(eruptCloudServer.value());
    }

    //Node节点健康检查
    public static boolean nodeHealth(String nodeName, String location) {<FILL_FUNCTION_BODY>}

    //可重试的node节点检查
    @SneakyThrows
    public static boolean retryableNodeHealth(String nodeName, String location, int reqNum, int retryableGap) {
        if (reqNum <= 0) {
            log.error("remove node: {} -> {}", nodeName, location);
            return false;
        }
        if (nodeHealth(nodeName, location)) {
            return true;
        } else {
            Thread.sleep(retryableGap);
            return retryableNodeHealth(nodeName, location, reqNum - 1, retryableGap);
        }
    }

}

        try {
            HttpResponse httpResponse = HttpUtil.createGet(location + CloudRestApiConst.NODE_HEALTH).timeout(1000).execute();
            String body = httpResponse.body();
            if (StringUtils.isNotBlank(body) && !nodeName.equals(body)) {
                log.warn("nodeName mismatch {} != {}", nodeName, body);
                return false;
            }
            return httpResponse.isOk();
        } catch (Exception e) {
            log.error(location, e);
            return false;
        }
    
<no_super_class>