Skip to main content

Command Palette

Search for a command to run...

.NET Foundation 프로젝트 소개(5): Polly

Published
1 min read
.NET Foundation 프로젝트 소개(5): Polly

image.png

여러분의 시간을 아낄 수 있는 .NET Foundation에서 후원하는 유용한 프로젝트를 소개하는 시간입니다.

오늘 소개할 프로젝트는 폴리(Polly)입니다.

폴리는 개발자가 유용하게 사용할 수 있는 재시도, 회로(실행) 차단, 시간초과, 격벽 격리 및 대체와 같은 정책을 Fluent 스타일을 통해 스레드에 안전한 방식으로 사용할 수 있는 복원 및 일시적 오류를 처리하는 라이브러리 입니다.

재시도라던가 시간초과 처리는 소스코드에서 빈번히 사용할 수 있는 패턴입니다. 이외에 폴리에서 제공하는 복원 관련 기능은 다음과 같습니다.

  • Retry / 재시도 : 자동 재시도를 구성할 수 있습니다.
  • Circuit-breaker / 서킷브레이커, 회로(실행)차단 : 오류가 임계값을 초과하면 일정 시간 동안 실행을 차단 합니다.
  • Timeout / 시간초과 : 시간초과가 발생하면 더이상 기다리지 않습니다.
  • Bulkhead Isolation / 격벽 격리 : 통제되는 작업을 고정 크기 리소스 풀로 제한해서 다른 영역에 영향을 주지 않도록 합니다.
  • Cache / 캐시 : 캐시를 이용해 자동으로 응답을 저장하고 사용할 수 있도록 합니다.
  • Fallback / 대체 : 실패시 대체 값을 반환하거나 작업을 실행 합니다.
  • PolicyWrap : 위의 정책들을 유연하게 결합할 수 있습니다.

폴리는 강력하고 충분히 안정적이므로 위의 빠른시작 링크를 통해 간단히 체험 후 코드에 바로 적용해볼 수 있습니다.

18 views

More from this blog

개발, 테스트, 운영에서의 도커 활용

핵심 원칙: "한 번 빌드하고, 어디서든 실행한다 (Build once, run anywhere)" 도커의 가장 큰 장점은 환경 일관성입니다. 동일한 도커 이미지를 사용하여 개발, 테스트, 운영 환경을 구성함으로써 "제 PC에서는 됐는데..." 하는 문제를 최소화할 수 있습니다. 1. 개발 단계 (Development) 목표: 빠른 코드 변경 반영, 쉬운 디버깅, 실제 운영 환경과 유사한 환경 구성. Docker 사용 방안: Dockerf...

May 9, 20256 min read15

[EF Core] 데이터 삭제 시 소프트 삭제 적용

DB에서 데이터를 삭제하면 일반적으로 복구할 수 없습니다. 또한 관계에 따라 영구 삭제 자체가 어려울 수도 있습니다. 그래서 데이터를 영구 삭제하는 대신 IsDeleted 속성을 true로 주고 IsDeleted 속성을 필터링해서 조회하는 방법을 사용하기도 합니다. 이를 소프트 삭제라고 합니다. 그런데 EF에서 알아서 데이터 삭제 시 소프트 삭제를 하고 쿼리시 IsDeleted 속성을 체크해서 삭제한 데이터를 제외한 데이터만 쿼리하게 하는 ...

Mar 18, 20243 min read19

[EF Core] ValueConverter를 이용해서 엔터티 속성의 도메인 관리

EF Core를 사용하면서 문자열 길이 등의 특성을 일일이 지정하는 것은 번거롭습니다. ... [MaxLength(32)] public string? 제목 { get; set; } 엔터티가 한 개일 때는 상관이 없으나 제목 유형이 여러 엔터티에 사용될 경우 유형을 지정하기 번거롭습니다. 속성 유형을 도메인으로 관리하면 참 편할텐데요, ValueConverter를 이용할 수 있습니다. 그런데 이것을 인터페이스 정적 추상를 사용해서 다음처럼 ...

Mar 16, 20242 min read8

디모이 블로그

154 posts

.NET 관련 기술을 선호하고 새로운 언어를 배우는데 관심이 있습니다.

.NET Foundation 프로젝트 소개(5): Polly