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
LINEサーバーサイドアプリケーションのトレンド / LINE server side app...
Search
LINE Developers
January 17, 2019
Technology
0
850
LINEサーバーサイドアプリケーションのトレンド / LINE server side application trend
LINE Developers
January 17, 2019
Tweet
Share
More Decks by LINE Developers
See All by LINE Developers
LINEスタンプのSREing事例集:大きなスパイクアクセスを捌くためのSREing
line_developers
3
2.4k
Java 21 Overview
line_developers
6
1.3k
Code Review Challenge: An example of a solution
line_developers
1
1.5k
KARTEのAPIサーバ化
line_developers
1
600
著作権とは何か?〜初歩的概念から権利利用法、侵害要件まで
line_developers
5
2.3k
生成AIと著作権 〜生成AIによって生じる著作権関連の課題と対処
line_developers
3
2.3k
マイクロサービスにおけるBFFアーキテクチャでのモジュラモノリスの導入
line_developers
9
3.8k
A/B Testing at LINE NEWS
line_developers
3
1.1k
LINEのサポートバージョンの考え方
line_developers
2
1.4k
Other Decks in Technology
See All in Technology
20260204_Midosuji_Tech
takuyay0ne
1
130
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
600
CDK対応したAWS DevOps Agentを試そう_20260201
masakiokuda
1
210
Tebiki Engineering Team Deck
tebiki
0
24k
FinTech SREのAWSサービス活用/Leveraging AWS Services in FinTech SRE
maaaato
0
120
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
880
Meshy Proプラン課金した
henjin0
0
250
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
42k
学生・新卒・ジュニアから目指すSRE
hiroyaonoe
2
560
使いにくいの壁を突破する
sansantech
PRO
1
120
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
440
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
68k
Featured
See All Featured
Utilizing Notion as your number one productivity tool
mfonobong
3
220
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
130
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Optimizing for Happiness
mojombo
379
71k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
300
So, you think you're a good person
axbom
PRO
2
1.9k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
180
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
140
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
53
Documentation Writing (for coders)
carmenintech
77
5.2k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
110
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が有⼒かな、という感じ
まとめ • いろいろな技術が使われています • 各プロジェクトの裁量で利⽤できる技術をどんどん使って います