Elixir/Erlang 핫 코드 스와핑: 제로 다운타임 배포

2024-12-13

이 문서에서는 Elixir/Erlang의 핫 코드 스와핑 기능을 자세히 설명합니다. 이 기능을 통해 애플리케이션 업그레이드를 위해 시스템을 재시작하지 않고도 런타임에 코드를 로드하고 언로드할 수 있습니다. 간단한 KV 모듈 예제를 사용하여 수동 핫 스와핑 방법을 보여주고, iex의 c/1 및 r/1 명령어와 Relups 도구를 소개하여 애플리케이션 및 릴리스 업그레이드 관리를 용이하게 합니다. 이 문서에서는 Erlang 애플리케이션, 릴리스, appups, relups에 대해 설명하고, Distillery 도구를 사용하여 애플리케이션 릴리스 및 업그레이드 릴리스를 생성하는 방법을 자세히 설명하여 최종적으로 제로 다운타임 배포를 달성하고 서비스 중단을 방지합니다.