2017-03-14 4 views

答えて

0

サービス発見のために、NameResolverを実装してください。

+0

ここにいくつかのサンプルコードを追加できます – wthamira

0

以下のコードを使用してインスタンス検出クライアントを取得しました。逆ポークを使用してすべてのサーバーを呼び出すことができます。私たちは領事やユーレカとしてレジスタを変更することができ、サービス名

@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); 
} 

を使用してすべてのサービスを呼び出すために

@Autowired 
private DiscoveryClient discoveryClient; 

及び方法のヘルプ以下。この方法は、両方をサポートしています。

+0

@DimaSanここにコードを追加します。それは大丈夫ですか。 – wthamira

関連する問題