Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Amazon Builder's Library 輪読会資料 分散システムでのフォールバックの回避

Avatar for メガネ男 メガネ男
March 15, 2020
58

Amazon Builder's Library 輪読会資料 分散システムでのフォールバックの回避

参加しているコミュニティ、Challeng-Every-Monthの輪読会で作成した資料。

Avatar for メガネ男

メガネ男

March 15, 2020
Tweet

Transcript

  1. abl輪読会 第6回分散システムでのフォー ルバックの回避 20/3/15(日) 21:00- 発表者:koji/メガネ男 著者
 Jacob Gabrielson アマゾン

    ウェブ サービスのシニ アプリンシパルエンジニア ABL URL https://aws.amazon.com/jp/builders-library/avoiding-fall back-in-distributed-systems/?did=ba_card&trk=ba_card 1
  2. Amazon がフォールバックを回避する方法 1/3 •  そこでAmazonは以下の対策を講じました。 •  エラーが発生しにくいシステムの構築。  (PR) 可用性の高いAmazon DynamoDB!

    •  フォールバックによりデータベースに負荷をかけるのではなく、例えば再試行に よって、参照側に障害を処理させるようにする。 •  (PR) IMAでは、EC2のインスタンスで走らせるための認証情報を提供する必要が あるが、インスタンスに積極的にプッシュしてこれを保有させることで、リクエストに 応じる時に発生する負荷を減らす仕組みを取っている。 9
  3. Amazon がフォールバックを回避する方法 3/3 •  再試行は、エラーに対して高い可用性をもたらす。 •  ただし、タイムアウトと再試行は混同しやすい。 •  そこで、Amazon では全体的な再試行率を監視する

    メトリクスと、再試行が頻繁に発生した場合にチームに 警告するアラームを維持している。 •  並行してリクエストを出すことで、(すでに負荷がかかっているので)再試行による 余分な負荷の発生がなくなる。  これは分散システムのクォーラムの読取または書込において実行される。 11