RPC 응답을 기다리는 worker가 상대의 callback 실행에 필요합니다. 여러 서비스·실행기에 걸친 순환 대기는 어떻게 찾나요?
꼬리 질문을 독립 문항으로 확장했습니다. 원래 문항에서 맥락 보기 →
잠깐, 답변을 보기 전에
먼저 내 말로 설명해 볼까요?
답변과 점검 포인트 펼치기답변 접기
01
구두 답변
정의를 외우기보다, 원리와 조건을 연결해 설명해 보세요.
local thread dump에 worker가 RPC를 기다리는 모습만 있어도 상대 서비스가 그 worker의 callback을 기다리면 분산 cycle이 될 수 있습니다. 요청·작업 ID와 executor 큐·락 소유를 연결해 대기 그래프를 만듭니다.
공유 executor의 모든 worker가 자식 작업을 기다리면 자식이 실행될 자리가 없어질 수 있습니다. 비동기 연결·별도 실행기·동기 대기 제거와 bounded queue를 검토합니다. timeout만 늘리거나 worker만 늘려 근본 cycle을 숨기지 않습니다.
02
득점 포인트
이해가 드러나는 지점을 확인해 보세요.
- local thread dump에 worker가 RPC를 기다리는 모습만 있어도 상대 서비스가 그 worker의 callback을 기다리면 분산 cycle이 될 수 있습니다. 요청·작업 ID와 executor 큐·락 소유를 연결해 대기 그래프를 만듭니다.
- timeout만 늘리거나 worker만 늘려 근본 cycle을 숨기지 않습니다.
03
감점 포인트
놓치기 쉬운 조건과 오해를 짚어 보세요.
- 다음 핵심 구분을 반대로 설명하거나 성립 조건을 생략한다: local thread dump에 worker가 RPC를 기다리는 모습만 있어도 상대 서비스가 그 worker의 callback을 기다리면 분산 cycle이 될 수 있습니다.
04
더 파고들 거리
하나 더 질문하며 이해의 범위를 넓혀 보세요.
득점·감점 포인트는 학습용 자기 점검 기준이며, 특정 회사의 실제 채점표가 아닙니다.
원리부터 공부하고 싶다면
답변을 보충하는 개념·예제·슈도코드를 읽어 보세요.