Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
出前館を支えるJavaとKotlin
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
株式会社出前館
March 27, 2025
Technology
680
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
出前館を支えるJavaとKotlin
出前館 x ウェルスナビ Tech Talk発表資料
株式会社出前館
March 27, 2025
More Decks by 株式会社出前館
See All by 株式会社出前館
出前館のメニュー登録・更新用APIをSpring Boot+Kafkaで実現したお話
demaecan
0
280
現実的なセキュリティ体制の構築 限られたリソースの中で成果を最大化する「選択と集中」
demaecan
8
5.9k
中期計画、2回作ってみた ~業務委託と正社員、両方の視点から~
demaecan
1
1.3k
複雑にからみあう複数のシステムを要する出前館QAの実情、展望
demaecan
0
240
QA業務を変える(!?)AIを併用した不具合分析の実践
demaecan
0
290
出前館アプリの品質を支えるリリーストレインとその実践
demaecan
0
330
出前館アプリ進化論 アーキテクチャと組織のリアルな変⾰の舞台裏
demaecan
0
1.1k
Flutterにしてよかった?出前館アプリを2年運用して気づいたことを全部話します
demaecan
1
1.5k
Boxを“使われる場”にする統制と自動化の仕組み
demaecan
1
570
Other Decks in Technology
See All in Technology
Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
1
580
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
880
AIにシークレットを見せない、WSL2で安全な開発環境
yazm
0
300
JAWS-UGグッズ職人仕事の流儀
kentapapa
0
110
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
1
340
二歩目のフロントエンド・ウェブアクセシビリティ
camiha
2
620
ソフトウェア ファクトリー - 再現性のあるソフトウェアの工場づくり / Software factory
iktakahiro
6
4.9k
実践! SRE × AI - ABEMA における AIOps -
tetsuya28
8
3.1k
サブエージェントと Claude Mods で作る独自 Advisor ツールの話
kenichiodo
2
160
AIがコードを書く時代に、エンジニアは何で自分の価値を証明するのか / In an era where AI writes code how do engineers prove their value
carta_engineering
3
1.1k
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
8
2.4k
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
1
1.8k
Featured
See All Featured
Balancing Empowerment & Direction
lara
6
1.3k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
850
What the history of the web can teach us about the future of AI
inesmontani
PRO
2
740
Building Applications with DynamoDB
mza
96
7.2k
Large-scale JavaScript Application Architecture
addyosmani
516
110k
The SEO identity crisis: Don't let AI make you average
varn
0
590
Tell your own story through comics
letsgokoyo
1
1.1k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
270
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
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