×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
出前館を支えるJavaとKotlin 出前館 x ウェルスナビ Tech Talk 2025-03-27 株式会社出前館 加藤成晃
Slide 2
Slide 2 text
1. 自己紹介 2. 出前館のシステムについて 3. JavaとKotlinの活用 2 目次 出前館 x ウェルスナビ Tech Talk
Slide 3
Slide 3 text
• 名前: 加藤成晃 (Kato Naruaki) • GitHub: ykyki • 経歴: 4年前まで数学基礎論をやっていた修士 • 出前館歴: 2024年8月に入社。半年ちょっと。開発と運用やってます • Java歴: 新卒研修で触り始めてから4年 • Kotlin歴: 業務で本格に書き始めてから1ヶ月 3 自己紹介 出前館 x ウェルスナビ Tech Talk
Slide 4
Slide 4 text
4 出前館について 出前館 x ウェルスナビ Tech Talk https://corporate.demae-can.co.jp/business/demaecan.html クイックコマースと呼ばれる領域 ここのシステムの話をします↓
Slide 5
Slide 5 text
• トラフィックが大きい(2025年第1四半期: オーダー数 1489万件、アクティブユーザー数 521万人)*1 • 遅延なく情報を連携させる必要がある(→アラート鳴ったらすぐ対応) • 複数の対向システムがあり、規模や品質が多種多様である • 高いSLAが求められる(去年のシステム障害時にはネットニュースになってしまった…) 5 システムの特徴・特性 出前館 x ウェルスナビ Tech Talk *1: 2025年8月期第1四半期決算説明会資料
Slide 6
Slide 6 text
6 システムの構成要素 出前館 x ウェルスナビ Tech Talk AWS Verda オンプレ ECS / Kubernetes Oracle / MySQL Java Kotlin Kafka 言語 各種基盤 プラットフォーム 自分のチームで使っている 主要要素をピックアップ ← ここの話
Slide 7
Slide 7 text
• 複数のマイクロサービスで構成されている • 出前館のバックエンドの多くはJavaで書かれている • 去年開始されたクイックマートのバックエンドの多くはKotlinで書かれている • コアドメイン、HTTP通信、gRPC通信、メッセージ送受信、 DB接続などの処理を行っている 7 JavaとKotlin @ 出前館 出前館 x ウェルスナビ Tech Talk
Slide 8
Slide 8 text
• 経緯: 出前館サービス開始が2000年であり、古いJava資産が一部継承されている • 制約: Kafkaを活用しており、安定したKafkaクライアントが必要。Javaが第一候補(他だとGoとか.NETとか?) • Kotlinはモダンな言語で、かつそれら資産を流用できる 8 どうしてJavaとKotlin? 出前館 x ウェルスナビ Tech Talk
Slide 9
Slide 9 text
• 出前館とクイックマートのシステムはJavaとKotlinによって支えられています • JavaとKotlinを活用することで、システムの要件の実現に努めています • 新しい領域の開発では、Kotlinを積極的に使っています! 9 まとめ 出前館 x ウェルスナビ Tech Talk