Elixir/Erlang ホットコードスワッピング:ゼロダウンタイムデプロイメント

2024-12-13

この記事では、Elixir/Erlang のホットコードスワッピング機能について詳しく説明します。この機能により、アプリケーションのアップグレードのためにシステムを再起動することなく、ランタイム時にコードのロードとアンロードが可能になります。簡単な KV モジュール例を使用して、手動でのホットスワッピングの方法を示し、iex の c/1 および r/1 コマンドと Relups ツールを紹介して、アプリケーションとリリースのアップグレード管理を容易にします。この記事では、Erlang アプリケーション、リリース、appups、relups について説明し、Distillery ツールを使用してアプリケーションリリースとアップグレードリリースを生成する方法を詳細に説明することで、最終的にゼロダウンタイムデプロイメントを実現し、サービスの中断を防ぎます。