by shigemk2

当面は技術的なことしか書かない

ノンブロッキング・フレームワークでのスレッドプールの使い方 メモ #reactive_shinjuku

  • 同期処理と非同期処理
    • 取得を待つ 逐次的に処理
    • 取得を待たない
      • 処理が複雑になる
  • スレッドの枯渇
    • Request-Response
  • 遅延の伝搬

  • サブシステムの障害をシステム全体に波及させない

  • 障害が発生しても応答を早く返す

  • bulkhead-pattern

    • 道路が1つしかないと事故ですべての車両が待たされる
    • 道路を複数用意しておくと事故の起きている経路を通らない車両は待たされない
    • スレッドプールは障害ドメインによって分ける
      • データベースや外部サービスとの接続
      • スレッドの枯渇による影響を最小限に
      • バルクヘッド 船の隔壁
  • little's law
    • L = λW
    • L スレッド数 λ 到着率 W1リクエストあたりのk処理事案
    • スレッドを効率的に使えるように適切なプールサイズを見積もる
  • curcuit-breaker
    • 経路を通らせないのでどの車両も待たせない
    • 応答性を保つ
    • 障害が起きた経路はフェイルオーバーする