IT/WSL

[grpc] managedChannel 생성 과정 (feat. java)

상짱 2025. 4. 10. 10:45
반응형

managedChennal 생성과정은
newStub 호출 후,
idle - connecting - ready 상태 과정을 거친다.

connecting 과정 중에.
/etc/nsswitch.conf 의 hosts: files dns 로 작성 순서로 우선순위를 가지는 것으로 추측된다.
1. files(/etc/hosts) 확인
2. dns : 네임서버 확인.

프로젝트 과정 중에 managedChannel 생성 과정에 지연이 발생되어, 확인 결과.

/etc/hosts 에 ip, domain 으로 도메인 주소를 통해 grpc 연결 시도 시,
1. /etc/nsswitch.conf 파일의 우선 순위에 따라
2. /etc/hosts 파일을 확인
3. dns 네임서버 확인
과정을 거치는 것으로 파악된다.

별도 dns서버가 없으면, jndi는 시스템dns서버(/etc/resolv.conf) 확인하게 되는데, 여기에 작성된 nameserver 를 확인하게 된다.

해당 nameserver 에 연결 시도하고 연결이 안되거나, 타임아웃이 되면서 지연이 발생하게 된다.

JVM 옵션 중, dns 검색 옵션을 끄는 설정이 존재한다.
`-Dio.grpc.internal.DnsNameResolverProvider.enable_jndi=false`

- 폐쇄망에서 해당 옵션을 사용하여, 채널 연결 속도를 향상시킬 수 있다.


반응형