銀座Rails#24@リンクアンドモチベーション 勉強会の感想

8月28日(金)に銀座 Rails に参加した感想と、イベント中に登場した技術、特に詳しく知らない点を学習も兼ねてまとめたいと思います!

銀座 Rails のイベントに初めて参加したのですが、今回は Devise 、 Rails で行う Distributed Tracing 、 Rails で作る serverless CMS などを学びました。

業務で Rails を扱うようになり八ヶ月が経過しましたが、イベントでテーマとして取り上げられている技術は知らないものばかりで、 Rails に変換して考える段階まで至ることができませんでした。

Rails 的に考察できるととても面白そうなので、今回は Distributed Tracing について学習し直したいと思います。

Distributed Tracing (分散トレーシング)とは?

分散トレーシングとは、分散されたシステムで処理されるリクエストを追跡するためのものです。

分散トレーシングには主に二つの要素があり、その要素を Span と Trace と呼びます。

Span: 1サービス内の処理を表す。
Trace: Requestのstart-endを含むSpanの集合をあらわす。
イメージは以下のようになります。

画像1

<出典: 分散トレーシングシステムのZipkinを使ってみた話>

分散トレーシングでは、 Span と Trace を可視化し、問題点と処理に時間がかかっている点を確認することができます。また、解決するための手助けをするシステムを分散トレーシングシステムといいます。

Open Tracing について

Open Tracing とは、開発者にシステムトレーサーの追加、またはトレーサーの切り替えを行う仕組みを提供する、分散トレーシングの実装です。

Open Tracing 仕様を実装したトレーサーとして、 Twitter 社が開発した Zipkin や、 Uber 社の Jaeger などがあり、詳しくは以下の資料が大変参考になりました! :)

Distributed Tracing を Rails で行う方法

ネット上の資料を調べた結果、分散トレーシングを Rails で行うには以下の記事が参考になりそうだと思いましたが、翻訳しつつ拝読しても難易度は高く感じたため、今後まとまった時間が取れたらトライしてみたいです。

OpenCensus (分散トレーシングを行うためのライブラリ集)を使用すると、 Rails で分散トレースを簡単に採用できるというお言葉が心強いです :)

イベントに参加させていただき、ありがとうございました!

この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!
Back-end Engineer
コメントを投稿するには、 ログイン または 会員登録 をする必要があります。