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
LINEサーバーサイドアプリケーションのトレンド / LINE server side app...
Search
LINE Developers
January 17, 2019
Technology
880
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
LINEサーバーサイドアプリケーションのトレンド / LINE server side application trend
LINE Developers
January 17, 2019
More Decks by LINE Developers
See All by LINE Developers
LINEスタンプのSREing事例集:大きなスパイクアクセスを捌くためのSREing
line_developers
3
2.6k
Java 21 Overview
line_developers
6
1.4k
Code Review Challenge: An example of a solution
line_developers
1
1.7k
KARTEのAPIサーバ化
line_developers
1
660
著作権とは何か?〜初歩的概念から権利利用法、侵害要件まで
line_developers
5
2.4k
生成AIと著作権 〜生成AIによって生じる著作権関連の課題と対処
line_developers
3
2.6k
マイクロサービスにおけるBFFアーキテクチャでのモジュラモノリスの導入
line_developers
9
4.2k
A/B Testing at LINE NEWS
line_developers
3
1.2k
LINEのサポートバージョンの考え方
line_developers
2
1.6k
Other Decks in Technology
See All in Technology
Persisting Massive Data with Rails ~Designing for 60 billion rows, and fighting the bottlenecks~ Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
0
730
10年後、Engineering 行為を剥奪されるとして、わたしたちは、どう、何を創ればいいだろうか。 / If Engineering Is Taken Away in 10 Years, How and What Should We Create?
bitkey
PRO
1
200
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
1.7k
大型犬好きによるPugの紹介
yamanoku
1
160
V8のArray.prototype.flatを最大約20倍速くするまでと、巨大OSSへの大規模コミットの道のり
riyaamemiya
0
300
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
5
1.1k
20261017福岡devIO 「AIは"良いダッシュボード"を作れるか?
jtakeda
0
170
初海外で注意すべきこと12選!!!安全快適なre:invent生活にするために
yuuuuuuu168
1
170
SAENM ~Jupyterで残すPoCの試行錯誤、未来の自分と仲間を助ける記録!~
terapyon
0
110
CTO Night|NotionのAIエージェントとFDE
kzkhykw1991
0
160
go-sqletch
moznion
0
140
TinyGoでオブザーバビリティ?OpenTelemetryはTinyGoで使えるのか / Is OpenTelemetry available in TinyGo environment?
ymotongpoo
2
140
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
Into the Great Unknown - MozCon
thekraken
41
2.8k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
Navigating Team Friction
lara
192
16k
Darren the Foodie - Storyboard
khoart
PRO
4
4k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
360
The World Runs on Bad Software
bkeepers
PRO
72
12k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
600
Producing Creativity
orderedlist
PRO
348
41k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
220
Transcript
-*/&αʔόʔαΠυ ΞϓϦέʔγϣϯͷτϨϯυ -*/&%FWFMPQFSNFFUVQJO4BQQPSP -*/&'VLVPLB͖ͩ͠ ͳ͓͖
⾃⼰紹介 • Developer Relationチーム • Java • @kis
LINEのサーバーサイド • 使ってる技術 • Javaのバージョンをどうするか問題
LINEで開発しているもの • LINEアプリ • いわゆるLINE • メッセンジャーやタイムライン、ウォレットなどを含む • LINEファミリーアプリ •
LINEアプリとは独⽴したアプリ • LINE LIVE、LINEマンガ、LINE占いなど • アプリ以外 • Clova、LINE Biz-Solutionsなど
サーバーは? • プライベートクラウド • AWSなどパブリッククラウドはほとんど使っていない
利⽤⾔語 • 主にJava • KotlinやGoも使われ始めている • ⼀部のサービスではPerlも
LINEのJava • 主にJava 8 • フレームワークはほぼSpring Framework • DBアクセスはMyBatisが多い。⼀部Domaも使われている。
LINEでのサーバーサイドKotlin • Kotlin: JetBrainsが開発しているJVM⾔語 • Javaからの置き換えが容易 • Androidの新しいコードはKotlin • サーバーサイドでも少しずつKotlinが増えている
• フレームワークはSpring Framework • メインはJavaで⼀部だけKotlin • ⾮同期処理 • RxJavaよりCoroutineのほうが読み書きしやすい • データベースアクセス • SQLに改⾏を⼊れたい • テスト
LINEのGo • LINE Ads PlatformではJava(JVM)のサーバーとGoのサーバー • LINEで広告プラットフォームをJava+Golangで⽴ち上げた話
LINEのデータストレージ • ほとんどのプロジェクト • MySQL • Redis • ⼀部のプロジェクト •
MongoDB • Elasticsearch • HBase • Cassandra
その他のミドルウェア • 監視 • Prometheus/Grafana • 分散トレーシング • Zipkin •
その他 • Kafka、Storm、Sparkなどなど
Javaのバージョンをどうするか問題 • 2017年9⽉にOracleがJavaのリリース・サポート⽅針を変更 • 3⽉・9⽉にバージョンアップ • 2018年3⽉ Java10リリース • 2018年9⽉
Java11リリース • 2019年3⽉ Java12リリース予定 • Java9以降のOracle JDKは無償での本番利⽤不可 • サポート購⼊か、他のディストリビューションを利⽤する必要がある • Java8の無償アップデート提供は2019年1⽉まで
ところでJavaとは? • OpenJDKとして開発される • Oracleを中⼼に、Red HatやSalesforce、 IBMなどが参加 • バイナリは配布しない •
ビルドは各社・各団体が提供
Oracleの提供するJavaビルド • OpenJDK • クラスパス例外付GPLv2 • 無償での本番利⽤可 • 次のバージョンが出たら更新ストップ(つまり6ヶ⽉のサポート) •
Oracle JDK • サポート契約なしでの本番利⽤不可 • 3年ごとのバージョンにLTSとして5年のサポート(Java11、17がLTS)
Oracle以外のOpenJDKビルド • LTSに対して⻑期間にわたって無償でアップデート提供 • AdoptOpenJDK • イギリスJUGを中⼼にしたコミュニティ。IBMもスポンサー • https://adoptopenjdk.net/ •
Azul Zulu • MicrosoftのAzureでも提供されている • https://www.azul.com/products/zulu-enterprise/ • Amazon Corretto • https://aws.amazon.com/jp/blogs/opensource/amazon-corretto- no-cost-distribution-openjdk-long-term-support/
どのビルドを使うの? • AdoptOpenJDKが有⼒ • というところでAmazon Correttoが発表された • まあAdoptOpenJDKが有⼒かな、という感じ
まとめ • いろいろな技術が使われています • 各プロジェクトの裁量で利⽤できる技術をどんどん使って います