조직 인터페이스 버전 관리
이 문서에서는 조직 인터페이스 버전 관리를 사용하는 방법을 알아봅니다. 조직 상태의 버전 관리가 범위를 벗어났습니다.
개요
지정된 클러스터에서 사일로는 다양한 버전의 조직 형식을 지원할 수 있습니다.
이 예제에서는 클라이언트와 사일로{1,2,3}가 조직 인터페이스 A
버전 1로 컴파일되었습니다. 사일로 4는 A
버전 2로 컴파일되었습니다.
제한 사항
- 상태 비저장 작업자에 대한 버전 관리 없음
- 스트리밍 인터페이스의 버전이 지정되지 않음
버전 관리 사용
버전 특성이 조직 인터페이스에 명시적으로 추가되지 않은 경우 조직의 기본 버전은 0입니다. 조직 인터페이스에서 VersionAttribute를 사용하여 조직을 버전화할 수 있습니다.
[Version(X)]
public interface IVersionUpgradeTestGrain : IGrainWithIntegerKey
{
}
여기서 X
는 일반적으로 단조롭게 증가하는 조직 인터페이스의 버전 번호입니다.
조직 버전 호환성 및 배치
버전이 지정된 조직의 호출이 클러스터에 도착하는 경우:
- 활성화가 없으면 호환되는 활성화가 생성됩니다.
- 활성화가 있는 경우:
기본적으로:
- 버전이 지정된 모든 조직은 이전 버전과 호환되어야 합니다(이전 버전과의 호환성 지침 및 호환되는 조직 참조). 즉, v1 조직은 v2 조직을 호출할 수 있지만 v2 조직은 v1을 호출할 수 없습니다.
- 클러스터에 여러 버전이 있는 경우 새 활성화는 호환되는 사일로에 임의로 배치됩니다.
이 기본 동작은 GrainVersioningOptions를 통해 변경할 수 있습니다.
var silo = new HostBuilder()
.UseOrleans(c =>
{
c.Configure<GrainVersioningOptions>(options =>
{
options.DefaultCompatibilityStrategy = nameof(BackwardCompatible);
options.DefaultVersionSelectorStrategy = nameof(MinimumVersion);
});
});
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기