스프링 부트 응용 프로그램과 함께 grcp 통신을 사용하는 방법은 무엇입니까? 그리고 grpc와 함께 사용하기 위해 공통 서비스 검색 방법을 사용하여 스프링 부팅 응용 프로그램의 끝점을 얻는 방법.gRPC를 사용하여 영사 또는 유레카와 함께 Spring Boot 응용 프로그램과 통신합니다.
0
A
답변
0
서비스 검색을 위해 NameResolver을 구현하십시오.
0
아래 코드를 사용하여 인스턴스 검색 클라이언트를 얻었습니다. 역 poxing을 사용하여 모든 서버를 호출하는 데 도움이됩니다.
@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);
}
를 사용하여 모든 서비스를 호출합니다. 이 방법은 두 가지 모두를 지원합니다.
+0
@DimaSan 여기에 코드를 추가합니다. 그 확인은. – wthamira
여기에 예제 코드를 추가 할 수 있습니까 – wthamira