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
出前館を支えるJavaとKotlin
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
株式会社出前館
March 27, 2025
Technology
580
0
Share
出前館を支えるJavaとKotlin
出前館 x ウェルスナビ Tech Talk発表資料
株式会社出前館
March 27, 2025
More Decks by 株式会社出前館
See All by 株式会社出前館
複雑にからみあう複数のシステムを要する出前館QAの実情、展望
demaecan
0
160
QA業務を変える(!?)AIを併用した不具合分析の実践
demaecan
0
170
出前館アプリの品質を支えるリリーストレインとその実践
demaecan
0
220
出前館アプリ進化論 アーキテクチャと組織のリアルな変⾰の舞台裏
demaecan
0
610
Flutterにしてよかった?出前館アプリを2年運用して気づいたことを全部話します
demaecan
1
1.1k
Boxを“使われる場”にする統制と自動化の仕組み
demaecan
1
420
生成AI導入における「短期ROIを超えた」共存戦略
demaecan
0
140
Okta Identity Governanceで実現する最小権限の原則
demaecan
1
470
incident_commander_demaecan__1_.pdf
demaecan
0
390
Other Decks in Technology
See All in Technology
Forget technical debt
ufried
0
150
Keeping Ruby Running on Cygwin
fd0
0
200
生成AIが変える SaaS の競争原理と弁護士ドットコムのプロダクト戦略
bengo4com
1
3.3k
社内エンジニア勉強会の醍醐味と苦しみ/tamadev
nishiuma
0
280
VespaのParent Childを用いたフィードパフォーマンスの改善
taking
0
180
世界の中心でApp Runnerを叫ぶ FINAL
tsukuboshi
0
200
ハーネスエンジニアリングをやりすぎた話 ~そのハーネスは解体された~
gotalab555
5
2k
Agents CLI と Gemini Enterprise Agent Platform で マルチエージェント開発が楽しくなる!
kaz1437
0
220
No Types Needed, Just Callable Method Check
dak2
1
2.8k
データ定義の混乱と戦う 〜 管理会計と財務会計 〜
wonohe
0
170
ブラウザの投機的読み込みと投機ルールAPIを理解し、Webサービスのパフォーマンスを最適化する
shuta13
2
260
多角的な視点から見たAGI
terisuke
0
120
Featured
See All Featured
Chasing Engaging Ingredients in Design
codingconduct
0
180
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
140
Heart Work Chapter 1 - Part 1
lfama
PRO
6
35k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Git: the NoSQL Database
bkeepers
PRO
432
67k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
[SF Ruby Conf 2025] Rails X
palkan
2
1k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
910
How GitHub (no longer) Works
holman
316
150k
For a Future-Friendly Web
brad_frost
183
10k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
200
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Transcript
出前館を支えるJavaとKotlin 出前館 x ウェルスナビ Tech Talk 2025-03-27 株式会社出前館 加藤成晃
1. 自己紹介 2. 出前館のシステムについて 3. JavaとKotlinの活用 2 目次 出前館 x
ウェルスナビ Tech Talk
• 名前: 加藤成晃 (Kato Naruaki) • GitHub: ykyki • 経歴:
4年前まで数学基礎論をやっていた修士 • 出前館歴: 2024年8月に入社。半年ちょっと。開発と運用やってます • Java歴: 新卒研修で触り始めてから4年 • Kotlin歴: 業務で本格に書き始めてから1ヶ月 3 自己紹介 出前館 x ウェルスナビ Tech Talk
4 出前館について 出前館 x ウェルスナビ Tech Talk https://corporate.demae-can.co.jp/business/demaecan.html クイックコマースと呼ばれる領域 ここのシステムの話をします↓
• トラフィックが大きい(2025年第1四半期: オーダー数 1489万件、アクティブユーザー数 521万人)*1 • 遅延なく情報を連携させる必要がある(→アラート鳴ったらすぐ対応) • 複数の対向システムがあり、規模や品質が多種多様である •
高いSLAが求められる(去年のシステム障害時にはネットニュースになってしまった…) 5 システムの特徴・特性 出前館 x ウェルスナビ Tech Talk *1: 2025年8月期第1四半期決算説明会資料
6 システムの構成要素 出前館 x ウェルスナビ Tech Talk AWS Verda オンプレ
ECS / Kubernetes Oracle / MySQL Java Kotlin Kafka 言語 各種基盤 プラットフォーム 自分のチームで使っている 主要要素をピックアップ ← ここの話
• 複数のマイクロサービスで構成されている • 出前館のバックエンドの多くはJavaで書かれている • 去年開始されたクイックマートのバックエンドの多くはKotlinで書かれている • コアドメイン、HTTP通信、gRPC通信、メッセージ送受信、 DB接続などの処理を行っている 7
JavaとKotlin @ 出前館 出前館 x ウェルスナビ Tech Talk
• 経緯: 出前館サービス開始が2000年であり、古いJava資産が一部継承されている • 制約: Kafkaを活用しており、安定したKafkaクライアントが必要。Javaが第一候補(他だとGoとか.NETとか?) • Kotlinはモダンな言語で、かつそれら資産を流用できる 8 どうしてJavaとKotlin?
出前館 x ウェルスナビ Tech Talk
• 出前館とクイックマートのシステムはJavaとKotlinによって支えられています • JavaとKotlinを活用することで、システムの要件の実現に努めています • 新しい領域の開発では、Kotlinを積極的に使っています! 9 まとめ 出前館 x
ウェルスナビ Tech Talk