public ConsulRegistry(GrpcURL url) { super(url); String host = url.getHost(); int port = url.getPort(); client = new ConsulClient(host, port); this.serviceCache = CacheBuilder.newBuilder().maximumSize(1000).build(); }
public String getSessionName() { return ephemralType.name() + "_" + url.getHost() + "_" + url.getPort(); }
String consumer = this.remote;// 远程服务器地址 String host = providerUrl.getHost(); int rpcPort = providerUrl.getPort(); int registryRpcPort = providerUrl.getParameter(Constants.REGISTRY_RPC_PORT_KEY, rpcPort); salukiMonitor.collect(new GrpcURL(Constants.MONITOR_PROTOCOL, host, //
Integer port = refUrl.getPort(); clientServerMonitor.collect(new GrpcURL(Constants.MONITOR_PROTOCOL, host, port, // service + "/" + method, //
/**** help method *****/ private void notifyLoadBalance(GrpcURL subscribeUrl, List<GrpcURL> urls) { if (urls != null && !urls.isEmpty()) { List<EquivalentAddressGroup> servers = Lists.newArrayList(); List<SocketAddress> addresses = Lists.newArrayList(); Map<List<SocketAddress>, GrpcURL> addressUrlMapping = Maps.newHashMap(); for (GrpcURL url : urls) { String host = url.getHost(); int port = url.getPort(); List<SocketAddress> hostAddressMapping; if (NetUtils.isIP(host)) { hostAddressMapping = IpResolved(servers, addresses, host, port); } else { hostAddressMapping = DnsResolved(servers, addresses, host, port); } addressUrlMapping.put(hostAddressMapping, url); } this.addresses.put(subscribeUrl, addresses); Attributes config = this.buildAttributes(subscribeUrl, addressUrlMapping); GrpcNameResolver.this.listener.onAddresses(servers, config); } else { GrpcNameResolver.this.listener .onError(Status.NOT_FOUND.withDescription("There is no service registy in consul ")); } }
private ConsulService buildConsulHealthService(GrpcURL url) { return ConsulService.newSalukiService()// .withAddress(url.getHost())// .withPort(Integer.valueOf(url.getPort()).toString())// .withName(GrpcURLUtils.toServiceName(url.getGroup()))// .withTag(GrpcURLUtils.healthServicePath(url, ThrallRoleType.PROVIDER))// .withId(url.getHost() + ":" + url.getPort() + "-" + url.getPath() + "-" + url.getVersion())// .withCheckInterval(Integer.valueOf(ConsulConstants.TTL).toString()).build(); }