6.7. Service Registry 이벤트 소싱 구성
이는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다.
이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다. Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 https://access.redhat.com/support/offerings/techpreview 을 참조하십시오.
레지스트리 콘텐츠를 변경할 때 이벤트를 전송하도록 Service Registry를 구성할 수 있습니다. 예를 들어 Service Registry는 스키마 또는 API 아티팩트, 그룹 또는 콘텐츠 규칙이 생성, 업데이트, 삭제될 때 이벤트를 트리거할 수 있습니다. 이러한 종류의 변경에 대한 타사 통합 및 애플리케이션에 이벤트를 전송하도록 서비스 레지스트리를 구성할 수 있습니다.
이벤트 전송에 사용할 수 있는 다양한 프로토콜이 있습니다. 현재 구현된 프로토콜은 HTTP 및 Apache Kafka입니다. 그러나 프로토콜에 관계없이 CNCF CloudEvents 사양을 사용하여 이벤트가 전송됩니다. Java 시스템 속성 또는 동등한 환경 변수를 사용하여 Service Registry 이벤트 소싱을 구성할 수 있습니다.
서비스 레지스트리 이벤트 유형
모든 이벤트 유형은 io.apicurio.registry.events.dto.RegistryEventType
에 정의되어 있습니다. 예를 들어 다음과 같은 이벤트 유형이 포함됩니다.
-
io.apicurio.registry.artifact-created
-
io.apicurio.registry.artifact-updated
-
io.apicurio.registry.artifact-state-changed
-
io.apicurio.registry.artifact-rule-created
-
io.apicurio.registry.global-rule-created
-
io.apicurio.registry.group-created
사전 요구 사항
- Service Registry 클라우드 이벤트를 보낼 애플리케이션이 있어야 합니다. 예를 들어 사용자 지정 애플리케이션 또는 타사 애플리케이션일 수 있습니다.
HTTP를 사용하여 Service Registry 이벤트 소싱 구성
이 섹션의 예제에서는 http://my-app-host:8888/events
에서 실행되는 사용자 정의 애플리케이션을 보여줍니다.
프로세스
HTTP 프로토콜을 사용할 때 다음과 같이 이벤트를 애플리케이션에 보내도록 서비스 레지스트리 구성을 설정합니다.
-
registry.events.sink.my-custom-consumer=http://my-app-host:8888/events
-
필요한 경우 다음과 같이 여러 이벤트 소비자를 구성할 수 있습니다.
-
registry.events.sink.my-custom-consumer=http://my-app-host:8888/events
-
registry.events.sink.other-consumer=http://my-consumer.com/events
-
Apache Kafka를 사용하여 서비스 레지스트리 이벤트 소싱 구성
이 섹션의 예제에서는 my-kafka-host:9092
에서 실행 중인 my-registry-events
라는 Kafka 주제를 보여줍니다.
프로세스
Kafka 프로토콜을 사용할 때 다음과 같이 Kafka 주제를 설정합니다.
-
registry.events.kafka.topic=my-registry-events
-
KAFKA_BOOTSTRAP_SERVERS
환경 변수를 사용하여 Kafka 생산자에 대한 구성을 설정할 수 있습니다.KAFKA_BOOTSTRAP_SERVERS=my-kafka-host:9092
또는
registry.events.kafka.config
접두사를 사용하여 kafka 생산자의 속성을 설정할 수 있습니다(예:registry.events.kafka.config.bootstrap.servers=my-kafka-host
:9092).
필요한 경우 Kafka 주제 파티션을 설정하여 이벤트를 생성할 수도 있습니다.
-
registry.events.kafka.topic-partition=1
-
추가 리소스
- 자세한 내용은 CNCF CloudEvents 사양 을 참조하십시오.