5.10. 트리거의 이벤트 전달 순서
Knative Eventing에서는 이벤트 전달 순서가 애플리케이션 요구 사항에 따라 메시지가 처리되도록 하는 데 중요한 역할을 합니다. Kafka 브로커를 사용하는 경우 이벤트를 순서대로 전달해야 하는지 여부를 엄격하게 지정할 수 있습니다. 전달 순서를 구성하면 순차적 처리가 필요한 사용 사례에 대해 이벤트 처리를 최적화하거나 순서가 지정되지 않은 전달을 위해 성능을 우선시할 수 있습니다.
5.10.1. 트리거에 대한 이벤트 전달 순서 구성
Kafka 브로커를 사용하는 경우 트리거에서 이벤트 싱크로 이벤트 전달 순서를 구성할 수 있습니다.
사전 요구 사항
- OpenShift Serverless Operator, Knative Eventing, Knative Kafka가 OpenShift Container Platform 클러스터에 설치되어 있습니다.
- Kafka 브로커는 클러스터에서 사용할 수 있으며 Kafka 브로커를 생성했습니다.
- 프로젝트를 생성했거나 OpenShift Container Platform에서 애플리케이션 및 기타 워크로드를 생성하는 데 적절한 역할 및 권한이 있는 프로젝트에 액세스할 수 있습니다.
-
OpenShift(
oc
) CLI가 설치되어 있습니다.
프로세스
다음 예제 YAML 파일을 사용하여
Trigger
오브젝트를 생성하거나 수정하고kafka.eventing.knative.dev/delivery.order
주석을 설정합니다.apiVersion: eventing.knative.dev/v1 kind: Trigger metadata: name: <trigger_name> annotations: kafka.eventing.knative.dev/delivery.order: ordered # ...
지원되는 소비자 제공 보장은 다음과 같습니다.
unordered
- 순서가 지정되지 않은 소비자는 적절한 오프셋 관리를 유지하면서 정렬되지 않은 메시지를 전달하는 비차단 소비자입니다.
주문됨
순서가 지정된 소비자는 파티션의 다음 메시지를 전달하기 전에 CloudEvent 구독자의 성공적인 응답을 기다리는 파티션별 차단 소비자입니다.
기본 주문 보증은
순서가 지정되지 않습니다
.
다음 명령을 사용하여
Trigger
오브젝트를 적용합니다.$ oc apply -f <filename>