Skip to main content

Get full access to 実用 Go言語 ―システム開発の現場で知っておきたいアドバイス and 60K+ other titles, with a free 10-day trial of O'Reilly.

There are also live events, courses curated by job role, and more.

12.7 分散システムの動作を確認するには

近年ではユーザーからは1つに見えても、内部で複数のサービスに分割して実装するマイクロサービスが増えています。ユーザーからのリクエスト1回に対して、複数のサービスが連携してレスポンスを返していることもあります。何かが期待通りに動作しない場合、それらのうちどのサービスに問題があるかを発見する必要があります。ログを見ながら1つずつ確認して発見することもできますが、時間も手間もかかります。

このようなシステムであっても、単一のシステムと同じように状態が見られるようになっていることを「オブザーバビリティがある」と表現します。監視できる状態です。分散システムはsshでサーバーに接続してログをtailするだけでは全体像を把握できません。代わりにテレメトリーと呼ばれる手法を用います。

note

「テレメトリー」は、野生動物の観測に使われている言葉を借用した用語です。

環境技術解説: テレメトリー(環境展望台)

https://tenbou.nies.go.jp/science/description/detail.php?id=87

テレメトリーを行うソフトウェアとして、OSSのOpenTelemetryがあります。Goだけではなく、Java、.Net、JavaScript、Pythonなど多くの環境に対応しています。OpenTelemetryは次の3分野から構成されています。

  • 複数のシステムにまたがった処理を見える化する「分散トレース」

  • サービスの負荷や使用しているリソース量を把握する「メトリクス」 ...

Get 実用 Go言語 ―システム開発の現場で知っておきたいアドバイス now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.

Don’t leave empty-handed

Get Mark Richards’s Software Architecture Patterns ebook to better understand how to design components—and how they should interact.

It’s yours, free.

Get it now
Cover of Software Architecture Patterns

Check it out now on O’Reilly

Dive in for free with a 10-day trial of the O’Reilly learning platform—then explore all the other resources our members count on to build skills and solve problems every day.

Start your free trial Become a member now