트랜잭션 호출

트랜잭션 호출은 대상 노드에서 하나 이상의 클러스터 명령어를 호출하는 데 사용됩니다. 원격 프로시저를 호출하는 것과 비슷하며, kube-APIserver입니다

쓰기 트랜잭션과 마찬가지로 호출 트랜잭션은 시간 설정된 트랜잭션과 시간 설정되지 않은 트랜잭션을 지원합니다. 자세한 내용은 예약된 작업 및 시간 제한이 없는 작업 섹션을 참조하세요.

시간 제한 없는 호출 거래

시간이 지정되지 않은 호출 트랜잭션의 작업 순서
그림 1: 시간 제한 없는 호출 트랜잭션

요청 작업 호출

방향: Initiator -> 대상

읽기 요청 작업 및 쓰기 요청 작업과 유사하지만 이 작업에서는 개시자는 표적에 다음을 제공합니다.

  • 요청 호출: 경로 목록 클러스터 명령 및 명령에 대한 선택적 인수에 명령어 필드.
  • Timed Request: 이 작업이 시간 지정 요청의 일부인지 여부를 나타내는 플래그입니다. 트랜잭션을 호출합니다.
  • 응답 억제: 응답 작업 호출 여부를 나타내는 플래그 억제되어야 합니다.
  • 상호작용 ID: 호출 요청 작업을 일치시키는 데 사용되는 정수 호출 응답 작업

응답 작업 호출

방향: Target -> 개시자

대상이 호출 요청 작업을 수신하면 다음을 포함하는 호출 응답 작업으로 트랜잭션을 생성합니다.

  • Invoke Responses: 모든 호출의 명령어 응답 또는 상태 목록 요청이 전송되었습니다.
  • 상호작용 ID: 호출 응답 작업을 다음과 일치시키는 데 사용되는 정수 요청 작업을 호출합니다.

시간이 지정되지 않은 호출 제한

호출 요청 작업은 그룹 전송일 수 있지만 이 경우 응답 억제 플래그를 설정해야 합니다. 그 근거는 그렇지 않으면 네트워크가 그룹 내 모든 구성원의 동시 응답으로 플러딩이 발생할 수 있습니다.

이 동작을 사용 설정하기 위해 호출 요청 목록에서 사용되는 경로에 그룹 또는 엔드포인트에서만 와일드 카드를 포함할 수 있음 필드를 확인합니다. 게다가 작업이 그룹캐스트인 경우 이 트랜잭션은 종료됩니다

Timed Invoke 트랜잭션

Timed Write 트랜잭션과 마찬가지로 Timed Invoke 트랜잭션은 Timed Request Action을 사용하면 됩니다.

시간 지정 호출 트랜잭션의 작업 순서
그림 2: 시간 설정 호출 트랜잭션

시간 설정된 요청 작업

방향: Initiator -> 대상

개시자가 다음을 포함하는 이 작업을 전송하는 트랜잭션을 시작합니다.

  • 시간 제한: 이 트랜잭션이 열린 상태로 유지될 수 있는 시간(밀리초)입니다. 기간 중 이 기간에 개시자가 보낸 다음 작업은 유효한 것으로 간주됩니다.

Timed Request Action이 수신되면, Target은 먼저 Timed Request Action을 확인해야 합니다. 시간이 지정된 요청 작업과 상태 응답 작업 개시자가 상태 응답 작업이 오류를 보고하는 경우 호출 요청을 전송합니다. 액션.

요청 작업 호출

앞서 설명한 요청 작업 호출과 동일합니다.

응답 작업 호출

앞서 설명한 응답 작업 호출과 동일합니다.

시간이 지정된 호출 제한

모든 호출 명령어는 시간이 지정된 상호작용에서 호출될 수 있습니다. 시간 설정된 요청 작업, 호출 요청 작업, 호출 응답 작업은 Unicast 전용이며 따라서 시간 설정된 호출 트랜잭션에서 그룹 전송으로 사용할 수 없습니다.

Invoke Request 작업은 그룹과 함께 경로를 사용하는 것과 와일드 카드를 사용하는 것을 모두 지원하지만 Invoke Response 작업은 와일드 카드 사용을 지원하지 않습니다.