Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
LINEサーバーサイドアプリケーションのトレンド / LINE server side application trend
LINE Developers
PRO
January 17, 2019
Technology
0
630
LINEサーバーサイドアプリケーションのトレンド / LINE server side application trend
LINE Developers
PRO
January 17, 2019
Tweet
Share
More Decks by LINE Developers
See All by LINE Developers
SONiCをLINEのClosネットワークに導入した話 / A story to adopt SONiC in LINE’s Clos Network
line_developers
PRO
1
75
ML PM, DS PMってどんな仕事をしているの?
line_developers
PRO
1
250
LINE iOSエンジニアの日々 / LINE iOS Engineer Days
line_developers
PRO
1
150
“Do you have a virtual router?” Discuss how to use virtual routers
line_developers
PRO
0
590
LINEにおけるネットワーク自動化チーム / Network Automation Team in LINE
line_developers
PRO
0
310
ひとりで書ける! 日英文章作成のコツ / Do-it-yourself! - Tips for writing in Japanese-English
line_developers
PRO
1
430
UIT Survey 2022
line_developers
PRO
0
120
LINE’s Journey; Road to 4 Million Cores in the Private Cloud
line_developers
PRO
0
79
Investigating Kafka performance issue caused by lock contention in xfs
line_developers
PRO
0
250
Other Decks in Technology
See All in Technology
cdk deployに必要な権限ってなんだ?
kinyok
0
190
re:Inventの完全招待制イベント Building a Roadmap to SaaSについて / Building a Roadmap to SaaS an invitation only event at reinvent
yayoi_dd
0
150
データベースの発表には RDBMS 以外もありますよ
maroon1st
0
240
UEでPLATEAU触ってみた
41h0_shiho
0
210
OpenShiftでスポットVMを使おう.pdf
jpishikawa
1
390
OCI技術資料 : ロード・バランサー 詳細 / Load Balancer 200
ocise
2
7.2k
ChatGPT for Hacking
anugrahsr
0
4.6k
スクラム導入して変わったチーム、組織のありかた
yumechi
0
200
AWS re:Invent 2022で発表された新機能を試してみた ~Cloud OperationとSecurity~ / New Cloud Operation and Security Features Announced at AWS reInvent 2022
yuj1osm
1
220
Hatena Engineer Seminar #23 「チームとプロダクトを育てる Mackerel 開発合宿」
arthur1
0
590
Google Cloud Workflows: API automation, patterns and best practices
glaforge
0
100
MoT/コネヒト/Kanmu が語るプロダクト開発xデータ分析 - 分析から機械学習システムの開発まで一人で複数ロールを担う大変さ
masatakashiwagi
3
770
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
25
5.7k
Designing on Purpose - Digital PM Summit 2013
jponch
108
5.9k
Gamification - CAS2011
davidbonilla
75
4.1k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
13
5.4k
Three Pipe Problems
jasonvnalue
89
8.9k
Faster Mobile Websites
deanohume
295
29k
Code Reviewing Like a Champion
maltzj
508
38k
A better future with KSS
kneath
230
16k
The MySQL Ecosystem @ GitHub 2015
samlambert
240
11k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
109
16k
Happy Clients
brianwarren
90
5.8k
No one is an island. Learnings from fostering a developers community.
thoeni
12
1.5k
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が有⼒かな、という感じ
まとめ • いろいろな技術が使われています • 各プロジェクトの裁量で利⽤できる技術をどんどん使って います