Skip to Content
Go言語による並行処理
book

Go言語による並行処理

by Katherine Cox-Buday, 山口 能迪
October 2018
Beginner to intermediate
256 pages
3h 35m
Japanese
O'Reilly Japan, Inc.
Content preview from Go言語による並行処理

5章大規模開発での並行処理

ここまででGoのプログラムの中で並行処理を利用するよくあるパターンを学んできました。今度はこれらのパターンを組み合わせて、大きく、構成可能で、スケールするシステムを書けるようにする慣例のほうに目を向けてみましょう。

この章では、単一のプロセス内の並行処理をスケールさせる方法を議論し、また1つ以上のプロセスを扱うときどのように並行処理が関係してくるかを見ていく事になります。

5.1 エラー伝播

並行処理のコード、特に分散システムのコードでは、システム内で何かがおかしくなりやすく、また同時になぜそれが起きたのかを理解するのが難しいものです。問題がシステムをどう伝播し、ユーザーへどのように提示されたのかを慎重に考えることであなた自身、あなたのチーム、そしてユーザーまでを、ありとあらゆる苦痛から遠ざけてくれるでしょう。4.5 エラーハンドリングではゴルーチンからエラーをどのように伝播させるかという点を議論しましたが、エラーはどのような形式になっているべきか、あるいはエラーを大きくて複雑なシステム内でどう伝えるかという点についてはあまり触れませんでした。エラー伝播の原理について、ここで少し考えてみましょう。次の段落では、並行処理システム内でのエラーハンドリングに対する一部の開発者による強い仮定を持った考え方を紹介しています。

多くの開発者がシステムの流れにおいてエラー伝播は二の次であると誤解しています。システム中でのデータの流れに関しては慎重に考慮するにもかかわらず、エラーは黙認されて大した考えもなしにシステムスタックの上位になんとなく渡されて行き、結局ユーザーのところで全部まとめて表示されます。Goでは開発者にコールスタックのフレームごとにエラー処理を強制することでこの悪しき習慣を正そうと試みました ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

プログラミングC# 第8版

プログラミングC# 第8版

Ian Griffiths, 木下 哲也, 鈴木 幸敏
Javaパフォーマンス

Javaパフォーマンス

Scott Oaks, Acroquest Technology株式会社, 寺田 佳央, 牧野 聡
PythonによるWebスクレイピング 第2版

PythonによるWebスクレイピング 第2版

Ryan Mitchell, 黒川 利明, 嶋田 健志
UXデザインの法則 ―最高のプロダクトとサービスを支える心理学

UXデザインの法則 ―最高のプロダクトとサービスを支える心理学

Jon Yablonski, 相島 雅樹, 磯谷 拓也, 反中 望, 松村 草也

Publisher Resources

ISBN: 9784873118468Other