2020年5月3日、The Amazon Builder's Library輪読会の第13回が開催された🎉
[オンライン輪読会について]
開催の経緯についてはこちらの記事にまとめた通り。
過去の開催記事は以下。
[輪読会第13回の概要]
第13回はゲストにbudougumi0617さんを迎えて、5人での開催となった🎉
今回は先日ブログにまとめた『分散システムの課題』という記事について発表した。
発表資料はこちら。
ネットワークとかメモリとかの低いレイヤの話が多めの記事だったので、「普段ここまで意識してコード書いたりテストしたりしない」、「コンピュータサイエンスを勉強していないのでイメージが難しい」といった感想が聞かれた。
本記事中では詳しい説明はなかったものの「未知のものをどう扱えばよいのか?」という質問が参加者からあった。サーバー側も、クライアント側も丁寧に実装しテストする必要がある、というのが自分の回答である。単なるタイムアウトであれば、ジッターを伴うエクスポネンシャル・バックオフでリトライして、一定回数で失敗扱いにすることもできる。一方で、副作用のあるキューベースの処理がネットワーク上で「DELIVER REPLY」ステップに失敗した場合、つまり実処理は成功しているような場合には、リクエストにきちんとIDを振るようにして、クライアント側もサーバー側もリクエストIDに応じた適切な処理を実装するする必要があるだろう。
また、輪読会ではなんとなく本記事を読む順番が最後になってしまったのだが、記事の内容的には全体のまとめにもなっているので、本記事を最初に読んでおくと全体像が掴みやすいかもしれない。
[まとめ]
今回は『分散システムの課題』を輪読した。これで13/13記事なので、2020年5月現在で公開されている記事をすべて読み切ったことになる。
オンライン勉強会/輪読会はいいぞ!