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 application trend
Search
LINE Developers
PRO
January 17, 2019
Technology
0
700
LINEサーバーサイドアプリケーションのトレンド / LINE server side application trend
LINE Developers
PRO
January 17, 2019
Tweet
Share
More Decks by LINE Developers
See All by LINE Developers
LINEスタンプのSREing事例集:大きなスパイクアクセスを捌くためのSREing
line_developers
PRO
1
1.3k
Java 21 Overview
line_developers
PRO
6
760
Code Review Challenge: An example of a solution
line_developers
PRO
1
800
KARTEのAPIサーバ化
line_developers
PRO
1
360
著作権とは何か?〜初歩的概念から権利利用法、侵害要件まで
line_developers
PRO
5
1.7k
生成AIと著作権 〜生成AIによって生じる著作権関連の課題と対処
line_developers
PRO
3
1.7k
マイクロサービスにおけるBFFアーキテクチャでのモジュラモノリスの導入
line_developers
PRO
9
2.3k
A/B Testing at LINE NEWS
line_developers
PRO
2
590
LINEのサポートバージョンの考え方
line_developers
PRO
2
760
Other Decks in Technology
See All in Technology
Oracle Database で機械学習を始めよう! Oracle Machine Learning
oracle4engineer
PRO
1
140
匠MethodとRDRAとICONIXとDDDで実現する一気通貫オブジェクト指向開発
haru860
4
2k
統計的学習理論読み Chapter 1
kmatsui
3
770
OpenTelemetry実践 はじめの一歩
taxin
0
310
XRミーティング 2024-03-20
1ftseabass
PRO
0
100
これまでのキャリアとこれからMLエンジニアとしてどう動くか
masatakashiwagi
0
300
Autify Company Deck
autifyhq
1
30k
生成AI・LLM時代における 機械学習エンジニアとしてのキャリア戦略・開発戦略 / my-career-and-development-strategies-for-ml-engineer-2024
yuya4
3
240
技術イベントはなんとかひねり出す 日経の技術広報の取り組み/techpr3
nishiuma
0
220
長文から長文を生成するLLMツールをオープンソースで作ってみた。
tomohisa
2
140
プッシュ型子育てサービスを、先行プロジェクト実施自治体において開始します
govtechtokyo
0
250
Elementaryを用いたデータ品質の可視化とデータ基盤の運用改善
10xinc
6
1.4k
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
242
20k
Practical Orchestrator
shlominoach
180
9.7k
Designing for humans not robots
tammielis
247
25k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
101
6.6k
Documentation Writing (for coders)
carmenintech
59
3.8k
Robots, Beer and Maslow
schacon
PRO
154
7.9k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
226
16k
Web Components: a chance to create the future
zenorocha
304
41k
The Cost Of JavaScript in 2023
addyosmani
13
3.7k
Git: the NoSQL Database
bkeepers
PRO
421
63k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
24
2.2k
Fantastic passwords and where to find them - at NoRuKo
philnash
35
2.4k
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が有⼒かな、という感じ
まとめ • いろいろな技術が使われています • 各プロジェクトの裁量で利⽤できる技術をどんどん使って います