Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
滑らかなユーザー体験も目指す注文管理のマイクロサービス化〜注文情報CSVダウンロード機能の事例〜
Search
株式会社出前館
March 27, 2025
Technology
0
270
滑らかなユーザー体験も目指す注文管理のマイクロサービス化〜注文情報CSVダウンロード機能の事例〜
出前館 x ウェルスナビ Tech Talk発表資料
株式会社出前館
March 27, 2025
Tweet
Share
More Decks by 株式会社出前館
See All by 株式会社出前館
出前館を支えるJavaとKotlin
demaecan
0
280
Yahoo!クイックマート管理画面でNext.js + static exportsを選んだ理由
demaecan
0
39
出前館アプリにおけるFlutterアプリ設計とそれを支えるCICD環境の進化
demaecan
0
820
出前館のマルチプロダクト戦略を支えるアーキテクチャ 〜技術的負債を解消しながら事業を多角化する〜
demaecan
1
210
新卒1年目の自分に伝えたかったエンジニアの成長に役に立つ話
demaecan
0
1.8k
新卒エンジニアが0からNon-BlockingなgPRCサーバーを作った話
demaecan
1
560
出前館におけるFlutter活用事例
demaecan
0
580
出前館アプリにおける Flutterアプリ設計
demaecan
2
980
プロダクト本部紹介資料
demaecan
0
14k
Other Decks in Technology
See All in Technology
“⾞が通れるほど⼤きな”セキュリティーホールを抑えながらログインしたい
taiseiue
0
130
OTel meets Wasm: プラグイン機構としてのWebAssemblyから見る次世代のObservability
lycorptech_jp
PRO
0
270
Azure Developer CLI と Azure Deployment Environment / Azure Developer CLI and Azure Deployment Environment
nnstt1
1
110
Introduction to Bill One Development Engineer
sansan33
PRO
0
230
ITエンジニアを取り巻く環境とキャリアパス / A career path for Japanese IT engineers
takatama
3
1.5k
君だけのオリジナル async / await を作ろう / TSKaigi 2025
susisu
17
13k
Rebase エンジニアリング組織の現状とこれから
rebase_engineering
0
130
2025advance01
minamizaki
0
120
積み上げられた技術資産と向き合いながら、プロダクトの信頼性をどう守るか
plaidtech
PRO
0
220
MCP Clientを活用するための設計と実装上の工夫
yudai00
0
650
他チームへ越境したら、生データ提供ソリューションのクエリ費用95%削減へ繋がった話 / Cross-Team Impact: 95% Off Raw Data Query Costs
yamamotoyuta
0
170
Redmineの意外と知らない便利機能 (Redmine 6.0対応版)
vividtone
0
1k
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.3k
Speed Design
sergeychernyshev
30
960
BBQ
matthewcrist
88
9.7k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
15
880
Code Reviewing Like a Champion
maltzj
523
40k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
GitHub's CSS Performance
jonrohan
1031
460k
Music & Morning Musume
bryan
47
6.5k
Transcript
滑らかなユーザー体験も目指す 注文管理のマイクロサービス化 注文情報CSVダウンロード機能の事例 2025.03.27 株式会社出前館 宮本涼
• 2021年より出前館に従事 • 現在は注文システムを開発 • 兵庫県西宮市出身 • 趣味は国内の旅行 自己紹介 宮本
涼 Miyamoto Ryo 銚子 函館 2
• オンプレからクラウドへの移行 • 出前館全体でオンプレ脱却を進行中 • マイクロサービスへの移行 • こちらもオンプレ脱却に合わせて進行中 背景 3
マイクロサービス化 旧システム 新システム 4
• 出前館が加盟店に向けて提供している注文管理画面の一機能 • 注文管理画面: 店舗が受けた注文の確認・変更ができる画面 • 加盟店が受けた注文の情報をまとめてDLできる機能 • ログイン者の権限によって抽出対象を制御 •
ダウンロードされたデータは各加盟店が自社システム等に入力し て使用している CSVダウンロード機能とは 5
• 用途の異なる注文検索画面と一体化し、改修難易度が高い • 現在では利用されていない検索条件等がある • CSVを作成中に画面が操作不能になる CSVダウンロード機能の課題 6
• 用途の異なる注文検索画面と一体化し、改修難易度が高い →検索画面とは別にCSVダウンロード画面を新設 • 現在では利用されていない検索条件等がある • CSVを作成中に画面が操作不能になる CSVダウンロード機能の課題 7
• 用途の異なる注文検索画面と一体化し、改修難易度が高い →検索画面とは別にCSVダウンロード画面を新設 • 現在では利用されていない検索条件等がある →各条件について使用状況の確認を実施、見直した • CSVを作成中に画面が操作不能になる CSVダウンロード機能の課題 8
• 用途の異なる注文検索画面と一体化し、改修難易度が高い →検索画面とは別にCSVダウンロード画面を新設 • 現在では利用されていない検索条件等がある →各条件について使用状況の確認を実施、見直した • CSVを作成中に画面が操作不能になる →ファイル作成作業の非同期化 CSVダウンロード機能の課題
9
システム構成(改修後) 10
• 受付時点で即座にレスポンスし、画面操作支障を解消 • 依頼のステータス自体は加盟店向けシステムで管理することで責務の分離 ステップ1:依頼の受付 11
• Subscriberの数で同時実行数を制限し、データベース負荷の抑制 • 注文システムは中間ファイルを作成し、CSVへの整形は加盟店向けシステムが行う責 務の分離 ステップ2:ファイル作成 12
• 責務分離の結果、このステップでは注文システムは関与不要 ステップ3:ファイルダウンロード 13
• システム全体の課題 • オンプレからクラウドへの移行 • マイクロサービスへの移行 • CSVダウンロード機能の課題 • 用途の異なる注文検索画面と一体化し、改修難易度が高い
→検索画面とは別にCSVダウンロード画面を新設 • 現在では利用されていない検索条件等がある →各条件について使用状況の確認を実施、見直した • CSVを作成中に画面が操作不能になる →ファイル作成作業の非同期化 まとめ 14