6장. OpenShift Serverless Logic 개요
OpenShift Serverless Logic을 사용하면 개발자가 이벤트 중심 서버리스 애플리케이션을 오케스트레이션하는 선언적 워크플로 모델을 정의할 수 있습니다.
클라우드 또는 컨테이너 환경에서 서버리스 애플리케이션을 개발하고 배포하는 데 이상적인 YAML 또는 JSON 형식으로 워크플로 모델을 작성할 수 있습니다.
OpenShift Container Platform에 워크플로를 배포하려면 OpenShift Serverless Logic Operator를 사용할 수 있습니다.
다음 섹션에서는 다양한 OpenShift Serverless Logic 개념에 대한 개요를 제공합니다.
6.1. 이벤트
이벤트 상태는 하나 이상의 이벤트 정의로 구성됩니다. 이벤트 정의는 이벤트 상태가 수신 대기하는 CloudEvent
유형을 지정하는 데 결합됩니다. 이벤트 상태를 사용하여 지정된 CloudEvent
를 수신할 때 새 워크플로우 인스턴스를 시작하거나 지정된 CloudEvent
를 수신할 때까지 기존 워크플로우 인스턴스의 실행을 일시 중지할 수 있습니다.
이벤트 상태 정의에서 onEvents
속성은 동일한 작업
세트를 트리거할 수 있는 CloudEvent
유형을 그룹화하는 데 사용됩니다. 이벤트 정의의 배타적
속성은 이벤트 일치를 계산하는 방법을 나타냅니다. 전용
속성 값이 false
인 경우 일치 항목이 발생하려면 eventRefs
배열의 모든 CloudEvent
유형을 수신해야 합니다. 그렇지 않으면 참조된 CloudEvent
유형의 수신이 일치하는 것으로 간주됩니다.
다음 예제에서는 noisy
및 silent
을 포함하여 두 가지 CloudEvent 유형으로 구성된 이벤트 정의를 보여줍니다.
이벤트 정의 예
"events": [ { "name": "noisyEvent", "source": "", "type": "noisy", "dataOnly" : "false" }, { "name": "silentEvent", "source": "", "type": "silent" } ]
이벤트 일치가 noisy
및 silent
CloudEvent 유형이 모두 수신되고 두 CloudEvent 유형에 대해 다른 작업을 실행하기 위해 별도의 onEvent
항목에 있는 이벤트 정의를 포함하는 이벤트 상태를 정의하고 전용
속성을 false로 설정합니다.
여러 onEvent
항목이 있는 이벤트 상태 정의의 예
{ "name": "waitForEvent", "type": "event", "onEvents": [ { "eventRefs": [ "noisyEvent" ], "actions": [ { "functionRef": "letsGetLoud" } ] }, { "eventRefs": [ "silentEvent" ], "actions": [ { "functionRef": "beQuiet" } ] } ] , "exclusive": false }