2장. 서비스 레지스트리 콘텐츠 규칙
이 장에서는 서비스 레지스트리 콘텐츠를 관리하는 데 사용되는 선택적 규칙을 소개하고 사용 가능한 규칙 구성에 대한 세부 정보를 제공합니다.
2.1. 규칙을 사용하여 서비스 레지스트리 콘텐츠 관리 링크 복사링크가 클립보드에 복사되었습니다!
Service Registry에 추가된 아티팩트 콘텐츠의 진화를 제어하기 위해 선택적 규칙을 구성할 수 있습니다. 구성된 모든 글로벌 규칙 또는 아티팩트별 규칙은 새 아티팩트 버전을 서비스 레지스트리에 업로드하기 전에 전달해야 합니다. 구성된 아티팩트별 규칙은 구성된 글로벌 규칙을 재정의합니다.
이러한 규칙의 목표는 잘못된 콘텐츠가 서비스 레지스트리에 추가되는 것을 방지하는 것입니다. 예를 들어 다음과 같은 이유로 콘텐츠가 유효하지 않을 수 있습니다.
-
지정된 아티팩트 유형의 잘못된 구문(예:
AVRO
또는PROTOBUF
) - 유효한 구문이지만 의미 체계는 사양을 위반합니다.
- 호환되지 않는 경우 새 콘텐츠에 현재 아티팩트 버전을 기준으로 변경 사항이 손상되는 경우입니다.
- 아티팩트 참조 무결성(예: 중복 또는 존재하지 않는 아티팩트 참조 매핑).
Service Registry 웹 콘솔, REST API 명령 또는 Java 클라이언트 애플리케이션을 사용하여 선택적 콘텐츠 규칙을 활성화할 수 있습니다.
2.1.1. 규칙이 적용되는 경우 링크 복사링크가 클립보드에 복사되었습니다!
규칙은 서비스 레지스트리에 콘텐츠를 추가할 때만 적용됩니다. 여기에는 다음과 같은 REST 작업이 포함됩니다.
- 아티팩트 추가
- 아티팩트 업데이트
- 아티팩트 버전 추가
규칙을 위반하는 경우 서비스 레지스트리에서 HTTP 오류를 반환합니다. 응답 본문에는 위반된 규칙과 무엇이 잘못되었는지를 보여주는 메시지가 포함됩니다.
2.1.2. 규칙 우선순위 순서 링크 복사링크가 클립보드에 복사되었습니다!
아티팩트별 및 글로벌 규칙의 우선순위 순서는 다음과 같습니다.
- 아티팩트별 규칙을 활성화하고 동등한 글로벌 규칙이 활성화된 경우 아티팩트 규칙은 글로벌 규칙을 재정의합니다.
- 아티팩트별 규칙을 비활성화하고 동등한 글로벌 규칙이 활성화된 경우 글로벌 규칙이 적용됩니다.
- 아티팩트별 규칙을 비활성화하고 동등한 글로벌 규칙이 비활성화되면 모든 아티팩트에 대해 규칙이 비활성화됩니다.
-
규칙 값을 아티팩트 수준에서
NONE
으로 설정하면 활성화된 글로벌 규칙을 재정의합니다. 이 경우NONE
의 아티팩트 규칙 값은 이 아티팩트에 대해 우선하지만 활성화된 글로벌 규칙은 아티팩트 수준에서 규칙이 비활성화된 다른 아티팩트에 계속 적용됩니다.
2.1.3. 규칙 작동 방식 링크 복사링크가 클립보드에 복사되었습니다!
각 규칙에는 이름과 구성 정보가 있습니다. 서비스 레지스트리는 각 아티팩트에 대한 규칙 목록과 글로벌 규칙 목록을 유지 관리합니다. 목록의 각 규칙은 규칙 구현을 위한 이름 및 구성으로 구성됩니다.
규칙은 현재 아티팩트의 콘텐츠(있는 경우)와 새 버전의 아티팩트가 추가되는 상태로 제공됩니다. 규칙 구현은 아티팩트가 규칙을 통과하는지 여부에 따라 true 또는 false를 반환합니다. 그렇지 않은 경우 서비스 레지스트리에서 HTTP 오류 응답이 발생한 이유를 보고합니다. 일부 규칙은 이전 버전의 콘텐츠를 사용하지 않을 수 있습니다. 예를 들어 호환성 규칙은 이전 버전을 사용하지만 구문 또는 의미 체계 유효 규칙은 사용하지 않습니다.
2.1.4. 콘텐츠 규칙 구성 링크 복사링크가 클립보드에 복사되었습니다!
관리자는 Service Registry 글로벌 규칙 및 아티팩트별 규칙을 구성할 수 있습니다. 개발자는 아티팩트별 규칙만 구성할 수 있습니다.
서비스 레지스트리는 특정 아티팩트에 대해 구성된 규칙을 적용합니다. 해당 수준에서 규칙이 구성되지 않은 경우 서비스 레지스트리는 전역적으로 구성된 규칙을 적용합니다. 글로벌 규칙이 구성되지 않은 경우 규칙이 적용되지 않습니다.
아티팩트 규칙 구성
Service Registry 웹 콘솔 또는 REST API를 사용하여 아티팩트 규칙을 구성할 수 있습니다. 자세한 내용은 다음을 참조하십시오.
글로벌 규칙 구성
관리자는 여러 가지 방법으로 글로벌 규칙을 구성할 수 있습니다.
-
REST API에서
admin/rules
작업 사용 - 서비스 레지스트리 웹 콘솔 사용
- 서비스 레지스트리 애플리케이션 속성을 사용하여 기본 글로벌 규칙 설정
기본 글로벌 규칙 구성
관리자는 글로벌 규칙을 활성화하거나 비활성화하도록 애플리케이션 수준에서 서비스 레지스트리를 구성할 수 있습니다. 다음 애플리케이션 속성 형식을 사용하여 설치 후 구성 없이 설치 시 기본 글로벌 규칙을 구성할 수 있습니다.
registry.rules.global.<ruleName>
registry.rules.global.<ruleName>
현재 지원되는 규칙 이름은 다음과 같습니다.
-
호환성
-
유효 기간
-
무결성
애플리케이션 속성 값은 구성 중인 규칙과 관련된 유효한 구성 옵션이어야 합니다.
이러한 애플리케이션 속성을 Java 시스템 속성으로 구성하거나 Quarkus application.properties
파일에 포함할 수 있습니다. 자세한 내용은 Quarkus 설명서 를 참조하십시오.