タグ

ブックマーク / medium.com/@agatan (1)

  • HTTPサーバとcontext.Context

    golang で HTTP サーバを書く際に,どう context.Context を活用したら良いか,今考えていることをまとめておきます はじめにgolang における強力な道具の一つに context.Context interface というのがあります.キャンセルをサブルーチンに伝搬したり,限られたスコープ内で一貫してアクセスできるインメモリ KV ストア的な役目を担っています. サーバにおいても,リクエストがキャンセルされたら handler の内部で行う高コストな計算や外部リソースへのアクセスもキャンセルできるようにしておくのが望ましいはずです.また,リクエストスコープに閉じる値を保持するインメモリ KV ストアとしての役割も context で担えます. そこで,HTTP サーバを書く際にどのようにcontext.Context を活用するのが良いかをまとめたいと思います.

    cpp_0302
    cpp_0302 2018/10/04
  • 1