@Override public TcpOutputStream createStream() { try { return HighwayCodec.encodeRequest(msgId, invocation, operationProtobuf); } catch (Exception e) { String msg = String.format("encode request failed. appid=%s, qualifiedName=%s", invocation.getAppId(), invocation.getOperationMeta().getMicroserviceQualifiedName()); throw new Error(msg, e); } } }
context.setInputParameters(invocation); VersionedCache endpointsVersionedCache = discoveryTree.discovery(context, invocation.getAppId(), invocation.getMicroserviceName(), invocation.getMicroserviceVersionRule());
protected LoadBalancer getOrCreateLoadBalancer(Invocation invocation) { DiscoveryContext context = new DiscoveryContext(); context.setInputParameters(invocation); VersionedCache serversVersionedCache = discoveryTree.discovery(context, invocation.getAppId(), invocation.getMicroserviceName(), invocation.getMicroserviceVersionRule()); invocation.addLocalContext(CONTEXT_KEY_SERVER_LIST, serversVersionedCache.data()); return loadBalancerMap .computeIfAbsent(serversVersionedCache.name(), name -> { return createLoadBalancer(invocation.getMicroserviceName()); }); }
@Override public TcpOutputStream createStream() { try { return HighwayCodec.encodeRequest(msgId, invocation, operationProtobuf); } catch (Exception e) { String msg = String.format("encode request failed. appid=%s, qualifiedName=%s", invocation.getAppId(), invocation.getOperationMeta().getMicroserviceQualifiedName()); throw new Error(msg, e); } } }
context.setInputParameters(invocation); VersionedCache endpointsVersionedCache = discoveryTree.discovery(context, invocation.getAppId(), invocation.getMicroserviceName(), invocation.getMicroserviceVersionRule());
protected LoadBalancer getOrCreateLoadBalancer(Invocation invocation) { DiscoveryContext context = new DiscoveryContext(); context.setInputParameters(invocation); VersionedCache serversVersionedCache = discoveryTree.discovery(context, invocation.getAppId(), invocation.getMicroserviceName(), invocation.getMicroserviceVersionRule()); invocation.addLocalContext(CONTEXT_KEY_SERVER_LIST, serversVersionedCache.data()); return loadBalancerMap .computeIfAbsent(serversVersionedCache.name(), name -> { return createLoadBalancer(invocation.getMicroserviceName()); }); }