千家信息网

consul中NewService的作用是什么

发表于:2025-02-11 作者:千家信息网编辑
千家信息网最后更新 2025年02月11日,consul中NewService的作用是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。NewServiceconsul-api-1
千家信息网最后更新 2025年02月11日consul中NewService的作用是什么

consul中NewService的作用是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

NewService

consul-api-1.4.1-sources.jar!/com/ecwid/consul/v1/agent/model/NewService.java

public class NewService {        @SerializedName("ID")        private String id;        @SerializedName("Name")        private String name;        @SerializedName("Tags")        private List tags;        @SerializedName("Address")        private String address;        @SerializedName("Meta")        private Map meta;        @SerializedName("Port")        private Integer port;        @SerializedName("EnableTagOverride")        private Boolean enableTagOverride;        @SerializedName("Check")        private Check check;        @SerializedName("Checks")        private List checks;        public String getId() {                return id;        }        public void setId(String id) {                this.id = id;        }        public String getName() {                return name;        }        public void setName(String name) {                this.name = name;        }        public List getTags() {                return tags;        }        public void setTags(List tags) {                this.tags = tags;        }        public String getAddress() {                return address;        }        public void setAddress(String address) {                this.address = address;        }        public Map getMeta() {                return meta;        }        public void setMeta(Map meta) {                this.meta = meta;        }        public Integer getPort() {                return port;        }        public void setPort(Integer port) {                this.port = port;        }        public Boolean getEnableTagOverride() {                return enableTagOverride;        }        public void setEnableTagOverride(Boolean enableTagOverride) {                this.enableTagOverride = enableTagOverride;        }        public Check getCheck() {                return check;        }        public void setCheck(Check check) {                this.check = check;        }        public List getChecks() {                return checks;        }        public void setChecks(List checks) {                this.checks = checks;        }        @Override        public String toString() {                return "NewService{" +                                "id='" + id + '\'' +                                ", name='" + name + '\'' +                                ", tags=" + tags +                                ", address='" + address + '\'' +                                ", meta=" + meta +                                ", port=" + port +                                ", enableTagOverride=" + enableTagOverride +                                ", check=" + check +                                ", checks=" + checks +                                '}';        }}
  • NewService定义了id、name、tags、address、meta、port、enableTagOverride、check、checks属性

NewService.Check

consul-api-1.4.1-sources.jar!/com/ecwid/consul/v1/agent/model/NewService.java

      public static class Check {                @SerializedName("Script")                private String script;                @SerializedName("Interval")                private String interval;                @SerializedName("TTL")                private String ttl;                @SerializedName("HTTP")                private String http;                @SerializedName("Method")                private String method;                @SerializedName("Header")                private Map> header;                @SerializedName("TCP")                private String tcp;                @SerializedName("Timeout")                private String timeout;                @SerializedName("DeregisterCriticalServiceAfter")                private String deregisterCriticalServiceAfter;                @SerializedName("TLSSkipVerify")                private Boolean tlsSkipVerify;                @SerializedName("Status")                private String status;                public String getScript() {                        return script;                }                public void setScript(String script) {                        this.script = script;                }                public String getInterval() {                        return interval;                }                public void setInterval(String interval) {                        this.interval = interval;                }                public String getTtl() {                        return ttl;                }                public void setTtl(String ttl) {                        this.ttl = ttl;                }                public String getHttp() {                        return http;                }                public void setHttp(String http) {                        this.http = http;                }                public String getMethod() {                        return method;                }                public void setMethod(String method) {                        this.method = method;                }                public Map> getHeader() {                        return header;                }                public void setHeader(Map> header) {                        this.header = header;                }                public String getTcp() {                        return tcp;                }                public void setTcp(String tcp) {                        this.tcp = tcp;                }                public String getTimeout() {                        return timeout;                }                public void setTimeout(String timeout) {                        this.timeout = timeout;                }                public String getDeregisterCriticalServiceAfter() {                        return deregisterCriticalServiceAfter;                }                public void setDeregisterCriticalServiceAfter(String deregisterCriticalServiceAfter) {                        this.deregisterCriticalServiceAfter = deregisterCriticalServiceAfter;                }                public Boolean getTlsSkipVerify() {                        return tlsSkipVerify;                }                public void setTlsSkipVerify(Boolean tlsSkipVerify) {                        this.tlsSkipVerify = tlsSkipVerify;                }                public String getStatus() {                        return status;                }                public void setStatus(String status) {                        this.status = status;                }                @Override                public String toString() {                        return "Check{" +                                        "script='" + script + '\'' +                                        ", interval='" + interval + '\'' +                                        ", ttl='" + ttl + '\'' +                                        ", http='" + http + '\'' +                                        ", method='" + method + '\'' +                                        ", header=" + header +                                        ", tcp='" + tcp + '\'' +                                        ", timeout='" + timeout + '\'' +                                        ", deregisterCriticalServiceAfter='" + deregisterCriticalServiceAfter + '\'' +                                        ", tlsSkipVerify=" + tlsSkipVerify +                                        ", status='" + status + '\'' +                                        '}';                }        }
  • NewService.Check定义了script、interval、ttl、http、method、header、tcp、timeout、deregisterCriticalServiceAfter、tlsSkipVerify、status属性

AgentConsulClient

consul-api-1.4.1-sources.jar!/com/ecwid/consul/v1/agent/AgentConsulClient.java

public final class AgentConsulClient implements AgentClient {        private final ConsulRawClient rawClient;        //......        public Response agentServiceRegister(NewService newService) {                return agentServiceRegister(newService, null);        }        public Response agentServiceRegister(NewService newService, String token) {                UrlParameters tokenParam = token != null ? new SingleUrlParameters("token", token) : null;                String json = GsonFactory.getGson().toJson(newService);                RawResponse rawResponse = rawClient.makePutRequest("/v1/agent/service/register", json, tokenParam);                if (rawResponse.getStatusCode() == 200) {                        return new Response(null, rawResponse);                } else {                        throw new OperationException(rawResponse);                }        }        //......}
  • AgentConsulClient的agentServiceRegister方法使用rawClient向/v1/agent/service/register这个url发送put请求,把newService的json数据发送过去

小结

  • NewService定义了id、name、tags、address、meta、port、enableTagOverride、check、checks属性

  • NewService.Check定义了script、interval、ttl、http、method、header、tcp、timeout、deregisterCriticalServiceAfter、tlsSkipVerify、status属性

  • AgentConsulClient的agentServiceRegister方法使用rawClient向/v1/agent/service/register这个url发送put请求,把newService的json数据发送过去

看完上述内容,你们掌握consul中NewService的作用是什么的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

0