Asayomu Tech
注目★★★★★Hacker News

Kubernetesなしでもゼロダウンタイムデプロイは実現できる — Docker Compose + HAProxyの実践構成

30秒で把握

  • 1Docker Compose + HAProxyでKubernetesなしのゼロダウンタイムデプロイを実現
  • 2Traefikは同一ラベル競合・ルーティング遅延・リトライ同一バックエンド固定の3点で脱落
  • 3HAProxyのoption redispatchが必須要件か、自チームの構成で確認を

要約

StatusDudeは、Kubernetesを使わずDocker ComposeとHAProxyだけで、1日複数回のゼロダウンタイムデプロイを本番環境で実現している。当初はTraefikを採用したが、同一ラベルの複数サービス定義で404が発生し、スケールダウン時のルーティング遅延で502が頻発、さらにリトライが同一バックエンドにしか飛ばない致命的な欠陥が判明し4時間で廃棄した。HAProxyの`option redispatch`を採用することで、シャットダウン中のコンテナへのリクエストを生きたバックエンドに再送できるようになった。ゼロダウンタイムに必要なのは「複数レプリカ」「異なるバックエンドへのリトライ」「1台ずつ入れ替えるデプロイスクリプト」の3要素だけだと論じている。

あなたへの影響

Docker Composeで本番運用を検討しているチームは。

推奨:Traefik採用時のリトライ挙動(同一バックエンド固定)を事前に確認し、HAProxyの`option redispatch`設定を組み合わせるかどうかを構成選定の判断軸に加えるとよい。

詳細を読む → 元記事へ※ 本文は元記事をご確認ください (asayomu は要約のみ提供)

関連する記事

※ 外部記事の権利は原著作者に帰属します。著作権削除要請は copyright@asayomu.jp までご連絡ください(受領確認 24h・実処理 72h 以内)。