2021年2月5日に「MoT Online Tech Talk Vol.1 No.1*タクシーアプリを支えるバックエンド」(connpass)を開催しました。
本記事では当日の内容を簡単に紹介します。
当日のスライド
MoT TechTalkとは?
MoT TechTalkは、Mobility Technologiesのエンジニアたちが、タクシーアプリGOをはじめとしたサービスやプロダクトを開発する中で得た技術的ナレッジを共有するイベントです。
今回のテーマ
MoTが提供しているサービスやプロダクトはさまざまな技術を活用しています。
特にバックエンドについては、API系は以前からGo言語、管理画面系はこれまでRubyおよびScalaで開発していましたが数年前からGo言語への全面移行を進めています。
今回のMoT Tech Talkでは、JapanTaxiアプリとMOVアプリという異なるアプリが統合する形で生まれたGOが、どのようにしてデータ同期や決済代行サービスの対応など、2つのサービスの統合を果たしたのか、その舞台裏をオンライン配信しました。
登壇者紹介
今回はこちらのメンバーが登壇しました。
タクシー配車システムの概要
タクシーアプリGOで提供している機能や、その機能を実現するために必要な要素について概要を紹介します。
動画(11:08〜)
『JapanTaxi』アプリと『MOV』の統合
GOのシステムはMOVをベースにすることにしたものの、MOV対応タクシーだけでなくJapanTaxi対応タクシーの配車も可能にするために、配車の仕組みを統合していく必要がありました。
アプリ間の機能差や仕様差を整理した上で、どうすればダウンタイムなく統合できるか考える必要がありました。ここでは統合に向けて取り組んできたことを紹介します。
動画(16:23〜)
『GO』のバックエンドシステムのこれから
配車機能は無事に統合できたものの、現時点ではまだJapanTaxiアプリで実現できたことすべてがGOで実現できている訳ではありません。
また機能差を埋めるだけではなく、今後はGOならではといえる機能も提供していきたいと考えています。ここでは私たちが考えている少し未来について紹介します。
動画(58:18〜)
より深くGOのバックエンドを知りたい方へ
ここまでの動画やスライドをご覧になっていただいて、さらに深くGOのバックエンドを知りたくなった方はぜひこちらのコンテンツもご覧ください!
「移動で人を幸せに。」というミッションの達成に向けて一緒にチャレンジしてくれる仲間を募集していますので、事業内容や技術に対する考え方に共感いただけた方、MoTで特に活用しているGo言語での開発に関心ある方はぜひ採用情報もあわせてご確認ください!
全国数万台のタクシー車両位置情報を収集するIoT基盤のアーキテクチャ
タクシー車両の動態情報(位置座標やメーター情報)をクラウド上に収集するシステムについてより深く知りたい方はこちらの動画をご覧ください。
Tech Talk(38:05頃)では「MOV」と「JapanTaxi」それぞれ別に存在している収集システムを一元的に扱うための仕組みについて紹介しましたが、こちらの動画では現在開発中の次期システムについて紹介しています。
MOVで実践したサーバーAPI実装の超最適化について
タクシー配車における必須処理のひとつに「Point-In-Polygon」判定という処理があります。
例えば駅や空港、病院など既存のタクシー乗り場がある場所に対して配車を行うのはトラブルの原因にもなり得るので避けなければなりません。また逆にすでにタクシー乗り場で待機している車両に対して配車指示をするのも同様に避ける必要があります。
こちらは「GO」の前身である「MOV」の資料ですが、ポリゴンで指定された特定エリア内に迎車位置が指定されていないか、タクシー車両が含まれいないかを判定する「Point-In-Polygon」をいかに高速に実現しているかを詳しく紹介しています。
開催履歴・開催予定
MoT Online Tech Talk は不定期開催しています。過去の開催レポートは こちら にもありますので、ぜひご覧ください!
- Vol.1 No.1*タクシーアプリを支えるバックエンド (2021/2/5)
- Vol.2 車載Androidシステムの技術と開発チーム (2021/3/9)
- Vol.3 タクシー配車ならではの技術が盛りだくさん!iOSアプリの開発現場 (2021/4/8)
- Vol.4 Androidエンジニア必見!タクシーアプリGOのUXを高める工夫 (2021/5/27)
- Vol.5 Flutterで作るタクシーデリバリーアプリ「GO Dine」(2021/7/7)