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

連続画像処理による位置情報計算を支えるマイクロサービスアーキテクチャ

 連続画像処理による位置情報計算を支えるマイクロサービスアーキテクチャ

JJUG CCC 2022 の登壇資料です。

kanamexx

June 19, 2022
Tweet

Other Decks in Programming

Transcript

  1. 本山 要 ◉ 2017年ウルシステムズに新卒入社(6年目) ◉ 主に開発案件を担当 ‒ 業務アプリ、 B to

    Cアプリ、コンピュータビジョン ‒ 開発もPMも ‒ Golang、Unity、JavaScript、C#、Java ◉ 得意技は技術要素の爆速キャッチアップ ◉ 新卒研修や採用活動にも従事 2
  2. システム要件と制約 ◉ スケーラブル ◉ マルチプロトコル ◉ 受信画像を保存可能 ◉ 容易に拡張可能 10

    ◉ ターンアラウンドタイム(以下、TAT)は33ミリ秒以下 ◉ 遅延を確実に解消 ◉ 位置情報の計算は1プロセスで同時に1回のみ可能 画像処理に 直接関係する 画像処理に 直接関係しない
  3. システム要件と制約 ✓ スケーラブル ✓ マルチプロトコル ◉ 受信画像を保存可能 ◉ 容易に拡張可能 27

    ◉ ターンアラウンドタイム(以下、TAT)は33ミリ秒以下 ◉ 遅延を確実に解消 ✓ 位置情報の計算は1プロセスで同時に1回のみ可能 画像処理に 直接関係する 画像処理に 直接関係しない
  4. システム要件と制約 ✓ スケーラブル ✓ マルチプロトコル ✓ 受信画像を保存可能 ✓ 容易に拡張可能 36

    ◉ ターンアラウンドタイム(以下、TAT)は33ミリ秒以下 ◉ 遅延を確実に解消 ✓ 位置情報の計算は1プロセスで同時に1回のみ可能 画像処理に 直接関係する 画像処理に 直接関係しない
  5. リクエストをスキップしてもよい? ◉ スキップしない ◉ スキップする 40 残高 100 残高 400

    残高 900 残高 0 残高 100 残高 100 残高 600 残高 0 スキップ スキップ
  6. リクエストをスキップしてよい世界もある ◉ スキップしない ◉ スキップする 41 現在地 (1, 1, 1)

    現在地 (4, 4, 4) 現在地 (9, 9, 9) 現在地 (0, 0, 0) 現在地 (1, 1, 1) 現在地 (1, 1, 1) 現在地 (9, 9, 9) 現在地 (0, 0, 0) スキップ
  7. リクエスト用APIとレスポンス用APIに分ける ◉ Request API ‒ リクエストを受けたら RAW_IMAGE に Publish ‒

    Publish 後、すぐに空のレスポンスを返す ◉ Response API ‒ ロングポーリングの前提 ‒ Connector がメッセージを受け取ったら、 位置情報のレスポンスを返す 67
  8. システム要件と制約 ✓ スケーラブル ✓ マルチプロトコル ✓ 受信画像を保存可能 ✓ 容易に拡張可能 70

    ◉ ターンアラウンドタイム(以下、TAT)は33ミリ秒以下 ✓ 遅延を確実に解消 ✓ 位置情報の計算は1プロセスで同時に1回のみ可能 画像処理に 直接関係する 画像処理に 直接関係しない
  9. 性能評価 ◉ 前提条件 ‒ 指標はTAT ‒ スキップされたリクエストは評価対象外 ‒ 10クライアントから同時に5分間リクエストを継続 ‒

    オンプレ環境にデプロイ ‒ クライアントとサーバーはLANケーブルで接続 ◉ 結果 ‒ TAT(90%tile)で約31ミリ秒 ‒ スキップされたリクエストは0 72 TAT
  10. システム要件と制約 ✓ スケーラブル ✓ マルチプロトコル ✓ 受信画像を保存可能 ✓ 容易に拡張可能 73

    ✓ ターンアラウンドタイム(以下、TAT)は33ミリ秒以下 ✓ 遅延を確実に解消 ✓ 位置情報の計算は1プロセスで同時に1回のみ可能 画像処理に 直接関係する 画像処理に 直接関係しない