Как мы можем использовать связь grcp с приложением весенней загрузки. И как мы можем использовать общий метод обнаружения служб для использования с grpc, чтобы получить конечную точку весеннего загрузочного приложения.
Использование gRPC связывает приложение Spring Boot вместе с консулом или Eureka
Ответы (2)
Я использовал приведенный ниже код, чтобы получить клиент обнаружения экземпляра. Это помогает обзвонить все серверы, используя реверсивное заражение.
@Autowired
private DiscoveryClient discoveryClient;
и ниже метод поможет вызвать все службы, используя имя службы
@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);
}
мы можем изменить регистрацию как консул или эврика. Этот метод поддерживает оба из них.
person
wthamira
schedule
21.03.2017