ControlRate 프로세서

ControlRate 프로세서

이 문서는 Snowflake OpenFlow의 ControlRate 프로세서에 대한 참조 문서예요. 후속 프로세서로 데이터가 전달되는 속도를 제어해요.

출처: Snowflake 문서

본문

기능 — 일반 제공 (Generally Available)

Openflow Snowflake 배포는 AWS, Azure, GCP Commercial 리전의 모든 계정에서 사용할 수 있어요.

Openflow BYOC 배포는 AWS Commercial 리전의 모든 계정에서 사용할 수 있어요.

번들 (Bundle)

그룹 NAR
org.apache.nifi nifi-standard-nar

설명 (Description)

후속 프로세서로 데이터가 전달되는 속도를 제어해요. Time Duration을 매우 작게 구성하면 스로틀의 정확도가 떨어져요. Yield Duration을 줄이면 정확도를 향상시킬 수 있지만 프로세서에 더 많은 Task가 부여되는 대가가 있어요.

태그 (Tags)

rate, rate control, throttle, throughput

입력 요구사항 (Input Requirement)

REQUIRED

민감한 동적 속성 지원 (Supports Sensitive Dynamic Properties)

아니요 (false)

속성 (Properties)

속성 설명
Grouping Attribute 기본적으로 모든 FlowFiles에 단일 "throttle"이 사용돼요. 이 값을 지정하면 이 이름을 가진 속성으로 지정된 각 값마다 별도의 throttle이 사용돼요. 이 값을 변경하면 속도 카운터가 초기화돼요.
Maximum Data Rate 데이터가 이 프로세서를 통과할 최대 속도예요. 이 속성의 형식은 Time Duration당 바이트를 나타내는 Data Size(예: '1 MB')가 될 것으로 예상돼요.
Maximum FlowFile Rate FlowFiles가 이 프로세서를 통과할 최대 속도예요. 이 속성의 형식은 Time Duration당 FlowFiles 수를 나타내는 양의 정수가 될 것으로 예상돼요.
Maximum Rate 데이터가 이 프로세서를 통과할 최대 속도예요. 이 속성의 형식은 Rate Control Criteria가 'data rate'로 설정된 경우 양의 정수 또는 Data Size(예: '1 MB')가 될 것으로 예상돼요.
Rate Control Criteria 처리량 속도를 제어하는 데 사용되는 기준을 나타내요. 이 값을 변경하면 속도 카운터가 초기화돼요.
Rate Controlled Attribute Rate Control Criteria가 'attribute value'로 설정된 경우 그 값이 속도 한도에 누적되는 속성의 이름이에요. 이 속성이 참조하는 속성의 값은 양의 long이어야 하며, 그렇지 않으면 FlowFile이 failure로 라우팅돼요. Rate Control Criteria가 'attribute value'로 설정되지 않으면 이 값은 무시돼요. 이 값을 변경하면 속도 카운터가 초기화돼요.
Rate Exceeded Strategy 최대 데이터 속도가 초과되었을 때 들어오는 FlowFile을 처리하는 방법을 지정해요.
Time Duration Maximum Rate가 적용되는 시간이에요. 이 값을 변경하면 속도 카운터가 초기화돼요.

관계 (Relationships)

이름 설명
failure 필요한 Rate Controlled Attribute가 없거나 속성이 예상 형식이 아니면 FlowFiles가 이 관계로 라우팅돼요.
success 정상 조건에서 FlowFiles가 이 관계로 전달돼요.

사용 사례 (Use cases)

  • 버스트를 거의 허용하지 않고 하위 시스템으로 데이터가 전송되는 속도 제한
  • 버스트를 거의 허용하지 않고 FlowFiles가 하위 시스템으로 전송되는 속도 제한
  • 버스트를 거의 허용하지 않고 특정 속도를 초과하는 요청 거부
  • 버스트를 허용하면서 특정 속도를 초과하는 요청 거부

더 알아보기 (Learn more)