温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

consul中NewService的作用是什么

发布时间:2021-06-22 14:14:16 来源:亿速云 阅读:241 作者:Leah 栏目:大数据

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<String> tags;

	@SerializedName("Address")
	private String address;

	@SerializedName("Meta")
	private Map<String, String> meta;

	@SerializedName("Port")
	private Integer port;

	@SerializedName("EnableTagOverride")
	private Boolean enableTagOverride;

	@SerializedName("Check")
	private Check check;

	@SerializedName("Checks")
	private List<Check> 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<String> getTags() {
		return tags;
	}

	public void setTags(List<String> tags) {
		this.tags = tags;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public Map<String, String> getMeta() {
		return meta;
	}

	public void setMeta(Map<String, String> 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<Check> getChecks() {
		return checks;
	}

	public void setChecks(List<Check> 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<String, List<String>> 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<String, List<String>> getHeader() {
			return header;
		}

		public void setHeader(Map<String, List<String>> 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<Void> agentServiceRegister(NewService newService) {
		return agentServiceRegister(newService, null);
	}

	public Response<Void> 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<Void>(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的作用是什么的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI