2017-03-14 5 views

Antwort

0

Implementieren Sie zur Serviceerkennung Ihre eigene NameResolver.

+0

können Sie hier einen Beispielcode hinzufügen – wthamira

0

Ich habe den folgenden Code verwendet, um Instanz Discovery-Client zu erhalten. Es hilft, alle Server mit Umkehrpocken aufzurufen.

@Autowired 
private DiscoveryClient discoveryClient; 

und unter Methode helfen, die Dienste alle nennen Namensdienst mit

@RequestMapping(method = RequestMethod.GET, value = "/senduser") 
public ResponseEntity<?> sendMessageToAllServices() { 
    user u=null; 
    List<ServiceInstance> server=discoveryClient.getInstances("grpc-server"); 
    for (ServiceInstance serviceInstance : server) { 

     String hostName=serviceInstance.getHost(); 
     int gRpcPort=Integer.parseInt(serviceInstance.getMetadata().get("grpc.port")); 

     ManagedChannel channel=ManagedChannelBuilder.forAddress(hostName,gRpcPort).usePlaintext(true).build(); 
     UserServiceBlockingStub stub=UserServiceGrpc.newBlockingStub(channel); 

     UserDetail user=UserDetail.newBuilder() 
        .setName("Thamira") 
        .setEmail("[email protected]") 
        .setAge(24).setGender(Gender.Male) 
        .setPassword("password").build(); 

     u=stub.createUser(user); 
    } 

    return ResponseEntity.ok("User "+u); 
} 

können wir als Konsul oder Heureka ändern registrieren. Diese Methode unterstützt beides.

+0

@DimaSan Ich füge Code hier hinzu. Ist das in Ordnung. – wthamira

Verwandte Themen