본문 바로가기
반응형

[개발] Infrastructure/Deployment7

Flagger Flagger는 쿠버네티스(Kubernetes) 환경에서 카나리아 배포(Canary Deployment)와 관련된 프로세스를 자동화하고 관리하는 도구입니다. 이를 통해 개발자와 운영 팀은 애플리케이션의 새 버전을 점진적으로 배포하고, 실시간으로 모니터링하며, 필요에 따라 조정할 수 있습니다. Flagger의 상세한 기능과 특징은 다음과 같습니다: 주요 기능 자동화된 카나리아 배포 Flagger는 카나리아 배포 프로세스를 자동화합니다. 이는 새 버전의 애플리케이션을 점진적으로 소수의 사용자에게 먼저 제공하고, 문제가 없을 경우 전체 사용자에게 확대하는 방식입니다. 프로모션과 롤백 Flagger는 성공 기준(예: 에러율, 응답 시간)을 충족시키면 자동으로 카나리아 버전을 프로덕션으로 승격시키고, 실패할 경우.. 2023. 12. 5.
Hystrix Hystrix는 Netflix에서 개발한 Java 기반 라이브러리로, 분산 시스템에서의 레지리언시(resiliency) 및 장애 내성(fault tolerance)을 제공합니다. 마이크로서비스 아키텍처에서 네트워크 실패, 서비스 지연, 하드웨어 문제 등으로 인한 장애가 발생할 수 있는데, Hystrix는 이러한 문제들에 대응하여 시스템의 안정성과 가용성을 유지하는 데 도움을 줍니다. Hystrix의 주요 기능 서킷 브레이커(Circuit Breaker) 서킷 브레이커 패턴을 구현하여, 연속적인 실패 후 호출을 자동으로 차단하고, 서비스가 복구될 때까지 요청을 중단합니다. 이는 시스템의 과부하를 방지합니다. 폴백 메커니즘(Fallback Mechanism) 외부 시스템이나 서비스 호출이 실패했을 때, 대체.. 2023. 11. 30.
사가 패턴 사가 패턴(Saga Pattern)은 마이크로서비스 아키텍처에서 사용되며, 분산 시스템에서의 긴 트랜잭션을 관리하는 방법을 제공합니다. 이 패턴의 핵심은 각 마이크로서비스가 독립적인 트랜잭션을 실행하고, 트랜잭션 간의 일관성을 유지하는 것입니다. 이를 위해 다음과 같은 세부 사항들이 중요합니다: 사가의 구성 로컬 트랜잭션 각 마이크로서비스는 자체 데이터베이스에 대해 로컬 트랜잭션을 실행합니다. 이 트랜잭션은 독립적으로 완료되며, 다른 서비스의 트랜잭션과는 직접적인 연결이 없습니다. 컴펜세이션 트랜잭션 이는 기본 트랜잭션이 실패했을 때, 이전에 성공한 트랜잭션을 취소하거나 수정하는 역할을 합니다. 각 로컬 트랜잭션에는 해당 컴펜세이션 트랜잭션이 연결되어 있어야 합니다. 통신 방식 비동기 메시징 사가는 일반.. 2023. 11. 27.
카나리아 배포 카나리아 배포(Canary Deployment)는 새로운 버전의 소프트웨어를 제한된 사용자 그룹에게 점진적으로 배포하는 방식입니다. 이 용어는 카나리아 새가 과거 탄광에서 가스 유출을 감지하는 데 사용되었던 것에서 유래했습니다. 비슷한 방식으로, 카나리아 배포는 새 소프트웨어 버전의 안정성과 성능을 실제 사용 환경에서 테스트하여 위험을 최소화합니다. 카나리아 배포의 주요 단계 초기 배포 새 버전의 애플리케이션을 소수의 사용자 또는 서버에 배포합니다. 이 단계에서는 일반적으로 전체 사용자의 소수만이 새 버전에 접근합니다. 모니터링 및 평가 새 버전의 성능, 안정성, 그리고 기타 중요 지표를 면밀히 모니터링합니다. 이를 통해 버그, 성능 문제, 사용성 이슈 등을 식별할 수 있습니다. 점진적 확대 초기 테스트.. 2023. 11. 17.
반응형