2018年10月13日のブックマーク (1件)

  • Golang 1.11 で導入された ListenConfig を使って SO_REUSEPORT を利用する - Carpe Diem

    概要 先日リリースされた1.11でソケットオプションを設定できるようになりました。 これによってLinux 3.9から導入されたSO_REUSEPORTという、同じポートでbindすることが可能になる機能が利用可能になります。 環境 golang 1.11 macOS 10.13.6 (Darwin Kernel Version 17.7.0) Ubuntu 16.04 (4.4.0-87-generic) 何が嬉しい? 一言で言うとGraceful Restartが可能になるという点です。 通常サーバプロセスを再起動するとその瞬間はリクエストを捌けなくなります。 Rolling updateのような事ができる環境であればいいですが、そうではない場合 a) Listenしているsocketのfile descriptorの複製 b) SO_REUSEPORTを使う といった手段でデプロイ時

    Golang 1.11 で導入された ListenConfig を使って SO_REUSEPORT を利用する - Carpe Diem
    nv-h
    nv-h 2018/10/13
    Golang 1.11でSO_REUSEPORT対応。そもそもこのオプション知らなかった。。。今まで2重待ち受けとかめんどいことしてたなぁ。