JJUG CCC 2021 Spring トーク一覧

採択 Beginner Cloud BeginnerSpeaker 2021/05/23 10:00〜 Track A 50 min

GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?

Ho Chi To

Presentation Type [Choose either from Standard / BeginnerSpeaker / StepUp]: BeginnerSpeaker
Level [Choose either from Beginner / Intermediate / Advanced]: Beginner
Categories [Choose either from Java SE / Jakarta EE / Server-side / Cloud / JVM / DevOps / Tools / Others]: Cloud
カンファレンス終了後にJJUG YouTubeチャンネルでセッション動画の公開を希望する / Agree to publish your session to JJUG YouTube channel after conference [Yes or No]: No

Abstract:クラウドの発展形態として注視が必要な主要潮流である "サーバレス化" に対応できる、新しいJava実行環境 GraalVM の Navitve Build 機能を検証し、優位性を確認しました。
 加えて、サーバレス環境と試験ツールについて、広く使われている Knative および Gatling などを用いて検証環境を構築したので、使用感を報告します。

5
採択 Intermediate Others BeginnerSpeaker 2021/05/23 10:00〜 Track B 50 min

フロントエンド・バックエンド分離の道のり

masahiro kawakami

Presentation Type [Choose either from Standard / BeginnerSpeaker / StepUp]: BeginnerSpeaker
Level [Choose either from Beginner / Intermediate / Advanced]: Intermediate
Categories [Choose either from Java SE / Jakarta EE / Server-side / Cloud / JVM / DevOps / Tools / Others]: Others
カンファレンス終了後にJJUG YouTubeチャンネルでセッション動画の公開を希望する / Agree to publish your session to JJUG YouTube channel after conference [Yes or No]: Yes

Abstract:
近年バックエンド API 化は多くの事例が出始め、
・バックエンドが簡潔になり、再利用性が高まる
・フロントエンドとバックエンドを別チーム/並行で開発できる
・フロントエンド/バックエンドがそれぞれリリースでき、リリースが簡単になる
など大きなメリットがあります。

ただしレガシーシステムにおいては、フロントエンドとバックエンドの開発は分離されていないケースも珍しくありません。
当社でいえば、従来のシステムは初回のレンダリングをテンプレートエンジン (JSP) により HTML を生成し、
クライアント側での動作は JavaScript によって行われていました。
結果としてサーバー側の実装は HTML 生成にも関心を払わなければならず、複雑性と責務の曖昧さを許容せざるを得ない状況でした。
加えて、時代とともにリッチな UI が求められ、DOM 操作でその要求に応える辛さにも直面しています。

こういった課題からの脱却方法として Spring Boot によるAPI化と、 React による UI 構築の導入から進め、
フロントエンド・バックエンド開発の分離に向けて取り組むことにしました。

このトークでは我々のサービスに Spring Boot によるAPI化と、 React による UI 構築の導入を進める中で、
コストや課題といかに向き合い取り組んだかの経緯、プラクティス・得られたものをご紹介します。

15
採択 Beginner Others BeginnerSpeaker 2021/05/23 10:00〜 Track C 50 min

Spockで学ぶテスト駆動開発のコツ

tyonekubo 米久保 剛 tyonekubo

Presentation Type [BeginnerSpeaker]:
Level [Beginner]:
Categories [Others]:
カンファレンス終了後にJJUG YouTubeチャンネルでセッション動画の公開を希望する / Agree to publish your session to JJUG YouTube channel after conference [Yes]:

Abstract:
ユニットテストを書くことは普及しましたが、テストファーストで進めることが難しい、テスト駆動開発(TDD)でインクリメンタルに開発のワークフローを回すことができない、といった課題をよく聞きます。
そのような悩みを抱えるJavaエンジニアを対象に、Spockという使いやすいテスティングフレームワークを使ってTDDを実践していくための基本的な知識やプラクティス、パターンをご紹介したいと思います。

6
採択 Beginner Others BeginnerSpeaker 2021/05/23 10:00〜 Track D 50 min

eclipse ユーザのためのVSCodeのススメ

tikemin ちけみん tikemin

Presentation Type [BeginnerSpeaker]:
Level [Beginner]:
Categories [Others]:
カンファレンス終了後にJJUG YouTubeチャンネルでセッション動画の公開を希望する / Agree to publish your session to JJUG YouTube channel after conference [No]:

Abstract:
最近巷で流行している、VSCode。まだJavaユーザとしては、EclipseやIntelli Jなどが主流かと思いますが
VSCodeも公式でJavaのExtension Packなどが整備されてきており、徐々に実用レベルで使えるようになってきています。
本セッションでは、「EclipseユーザのためののVSCodeのススメ」として、VSCodeを使ったJava開発について紹介させて貰えればと思います。

7
採択 StepUp Beginner Serverside 2021/05/23 11:00〜 Track A 50 min

今どき?のJavaにおける例外処理についての考察

masatsugumatsus 松下正嗣 masatsugumatsus

Presentation Type [Choose either from Standard / BeginnerSpeaker / StepUp]: StepUp
Level [Choose either from Beginner / Intermediate / Advanced]: Beginner
Categories [Choose at least one from Java SE / Jakarta EE / Server-side / Cloud / JVM / DevOps / Tools / Others]: Server-side
カンファレンス終了後にJJUG YouTubeチャンネルでセッション動画の公開を希望する / Agree to publish your session to JJUG YouTube channel after conference [Yes or No]: Yes

Abstract:
サーバサイドWebアプリケーションにおける例外の扱い方について考察します。まずはJava言語におい想定していたと思われる非チェック例外とチェック例外の使いどころ、Springなどのフレームワークによる例外処理の思想の変更などを押さえた上で、例外的な状態をどのように扱うかについて考察します。特に関数型言語における例外状態の扱い方などを参考にしながら、今どきの例外処理についての私見を述べさせていただきます。

15
採択 Intermediate DevOps 2021/05/23 11:00〜 Track B 50 min

Java 開発者のための Kubernetes パッケージマネージャー: Helm

tsuyoshi_miyake 三宅 剛史 tsuyoshi_miyake

Presentation Type [Choose either from Standard / BeginnerSpeaker / StepUp]: Standard
Level [Choose either from Beginner / Intermediate / Advanced]: Intermediate
Categories [Choose either from Java SE / Jakarta EE / Server-side / Cloud / JVM / DevOps / Tools / Others]: DevOps
カンファレンス終了後にJJUG YouTubeチャンネルでセッション動画の公開を希望する / Agree to publish your session to JJUG YouTube channel after conference [Yes or No]: Yes

Abstract: Java のアプリケーションを実際に稼働させるためには古くは war ファイルを Tomcat にコピーするところから、uber jar の コンテナ化、Kubernetes でのデプロイが現在の主流でしょうか。ただ Kubernetes でのデプロイには Ingress、Service、Deployment、Secret、ConfigMap などシンプルなアプリケーションをデプロイするにも API オブジェクトの管理が煩雑になりがちです。本セッションではこの煩雑さを解消するために誕生した「Kubernetes のパッケージマネージャー」 Helm の概要と、実際に簡単な Java のアプリケーションや既存関係を Helm を使ってデプロイするデモをご紹介します。

3
採択 他イベントOK Intermediate Jakarta EE 2021/05/23 11:00〜 Track C 50 min

Jakarta EE 9.1とパッケージ名変更のためのツールEclipse Transformerについて

hiromix2222 髙橋 博実 hiromix2222

Presentation Type [Standard / BeginnerSpeaker / StepUp]: Standard
Level [Choose either from Beginner / Intermediate / Advanced]: Intermediate
Categories [Choose either from Java SE / Jakarta EE / Server-side / Cloud / JVM / DevOps / Tools / Others]: Jakarta EE
カンファレンス終了後にJJUG YouTubeチャンネルでセッション動画の公開を希望する / Agree to publish your session to JJUG YouTube channel after conference [Yes or No]: Yes

Abstract:
昨年末にリリースされた、Jakarta EE 9と今年3月にリリースされる予定のJakarta EE 9.1の内容を共有するとともに、パッケージ名変更のためのツールとして公開されているEclipse Transformerについて調査した結果を共有します。

2
採択 Intermediate DevOps BeginnerSpeaker 2021/05/23 11:00〜 Track D 50 min

レガシーなシステムにモダンなAPIを導入した話

Koji Kishiura

Presentation Type [Choose either from Standard / BeginnerSpeaker / StepUp]: BeginnerSpeaker
Level [Choose either from Beginner / Intermediate / Advanced]: Intermediate
Categories [Choose either from Java SE / Jakarta EE / Server-side / Cloud / JVM / DevOps / Tools / Others]: DevOps
カンファレンス終了後にJJUG YouTubeチャンネルでセッション動画の公開を希望する / Agree to publish your session to JJUG YouTube channel after conference [Yes or No]: Yes

Abstract:
我々のプロダクトで課題となっていた運用稼働の増大を解決するための一環として、GraphQL の導入を決めました。
しかし、稼働実績の長いプロダクトというのは技術的負債が増えており、新しい技術を導入する際の壁になります。
Spring への GraphQL については、Spring Boot に graphql-spring-boot-starter を利用することで導入ができるのですが、
Spring Boot の一部の機能を制限しているようなシステムには graphql-spring-boot-starter は使用できず、導入事例も少ないため困難を伴いました。
今回私たちのチームでは Spring Boot の自動構成メカニズムを使用していないシステムへの GraphQL を導入を行いましたので、その導入事例についてご紹介したいと思います。

レガシーなシステムに苦労しつつも、少しでもモダンなシステムに近づけたいと考えている方の一助になればと思います。

7
採択 Beginner Intermediate Advanced Others 2021/05/23 12:00〜 Track A スポンサーセッション(※スポンサー用)

次のLTS Java 17にむけてJava 16までをおさらいしよう

kis きしだ なおき kis

Presentation Type: Standard
Level: Beginner / Intermediate / Advanced
Categories: Others
Agree to publish your session to JJUG YouTube channel after conference: Yes
Abstract:
3/16にJava 16がリリースされ、9月にはJava 17がLTSとしてリリースされる予定です。現在、多くのプロジェクトの本番運用では、LTS版のJava 11を使っていると思います。そこでこのセッションでは、Java 11からJava 17までの仕様変更をまとめておさらいをしてみます。
また、LINEのプロジェクトの安定運用のためにJava 11をどのように活用しているかもお伝えします。

9
採択 Intermediate Serverside 2021/05/23 12:00〜 Track B スポンサーセッション(※スポンサー用)

OpenID Connect 1.0 with Spring Security

suke_masa 多田真敏 suke_masa

Presentation Type [Choose either from Standard / BeginnerSpeaker / StepUp]: Standard
Level [Choose either from Beginner / Intermediate / Advanced]: Intermediate
Categories [Choose at least one from Java SE / Jakarta EE / Server-side / Cloud / JVM / DevOps / Tools / Others]: Server-side
カンファレンス終了後にJJUG YouTubeチャンネルでセッション動画の公開を希望する / Agree to publish your session to JJUG YouTube channel after conference [Yes or No]: Yes

Abstract:
OpenID Connect 1.0は、OAuth 2.0をベースとした認証プロトコルです。このセッションでは次の内容をわかりやすく解説します。

  • OpenID Connect 1.0の概要とフロー
  • なぜOAuthは「認可」でOpenID Connectは「認証」なのか
  • Spring Securityの利用方法

このセッションは中級者向けです。次の知識を前提として解説します。

  • OAuth 2.0の認可コードグラントのフローを説明できる
  • Spring Security 5.xのOAuth 2.0機能を使ったことがある(既に非推奨となっている「Spring Security OAuth2」ではありません)
4
採択 Beginner Java SE Jakarta EE Tools 2021/05/23 12:00〜 Track C スポンサーセッション(※スポンサー用)

これから始める単体テスト改善に向けた第一歩 ~JUnit編~

大城 夏樹

Presentation Type [Choose either from Standard / BeginnerSpeaker / StepUp]: Standard
Level [Choose either from Beginner / Intermediate / Advanced]: Beginner
Categories [Choose at least one from Java SE / Jakarta EE / Server-side / Cloud / JVM / DevOps / Tools / Others]: Java SE、Jakarta EE、Tools
カンファレンス終了後にJJUG YouTubeチャンネルでセッション動画の公開を希望する / Agree to publish your session to JJUG YouTube channel after conference [Yes or No]: Yes

Abstract:
JUnitは20年程前からリリースされ、今でもJava開発で活用し続けられている
有名なテスティングフレームワークです。
しかし、開発現場では「JUnitを知らない」「JUnitの経験者が少なく導入に至れない」等の
悩みを耳にしますし、現在もJUnitの活用で課題を抱えているプロジェクトもあるかと思います。

今回は、私の開発現場での経験をベースにJUnitの知識を共有したいと思います。
この説明を見て、JUnitの活用やJava開発の品質改善に少しでも役立てれば良いなと考えております。

15
採択 Intermediate DevOps 2021/05/23 12:00〜 Track D スポンサーセッション(※スポンサー用)

あなたの勘と経験は本当に合っていると断言できますか? プロダクション環境での計測のススメ

orisano 株式会社リクルート シニアアーキテクト 森廣 隆行 / 株式会社リクルート 與那城 有 orisano

Presentation Type [Choose either from Standard / BeginnerSpeaker / StepUp]:Standard
Level [Choose either from Beginner / Intermediate / Advanced]: Intermediate
Categories [Choose at least one from Java SE / Jakarta EE / Server-side / Cloud / JVM / DevOps / Tools / Others]: DevOps
カンファレンス終了後にJJUG YouTubeチャンネルでセッション動画の公開を希望する / Agree to publish your session to JJUG YouTube channel after conference [Yes or No]: Yes

Abstract:
あなたの担当しているサービスで、使われていない機能・コードはどのくらいありますか?
あなたの触っているアプリケーションのボトルネックはどこですか?
これらの問いに即答できるでしょうか。実際我々もこれらの問いには長く答えられずにいました。
結果として、プロダクション環境でのトラブルや、それを防止するために過剰とも言えるレビューを行っていました。
そんな状況を打開すべく、リクルートのHR領域ではプロダクション環境における継続的プロファイリングの取り組みを実施しました。
Google Cloud Profilerといった一般的なプロファイリングツールだけでなく、JaCoCoといった古参のツールの力も借りながらモニタリングを進め、
現在では冒頭に掲げた質問には即答できるようになっています。
このセッションでは、我々が実際に取り組んできたプロファイリングの方法と、その改善としてなにをやってきたかをお話します。
プロダクション環境でのモニタリング導入はもちろんリスクもあり、それに対応するための準備と勇気が必要です。
セッション内では、実施のプロファイリングツールの設定方法から、導入時の考慮点や方法、導入後の改善への動き方など、経験に基づいて詳しくお話したいと思います。
自分たちのプロダクトを文字通り「完全に把握したい」と言う方に参考になるようなセッションにしたいと思っていますので、ご参加お待ちしています!

5
採択 Intermediate Java SE Standard 2021/05/23 13:00〜 Track A 50 min

JDK 16 で導入された JEP 396 にご注意!!

Yoshiro Tokumasu

Presentation Type [Standard]:
Level [Intermediate]:
Categories [Java SE]:
カンファレンス終了後にJJUG YouTubeチャンネルでセッション動画の公開を希望する / Agree to publish your session to JJUG YouTube channel after conference [Yes]:

Abstract:
JDK 16 で導入された JEP (JDK Enhancement Proposal) のうち、JEP 396 : Strongly Encapsulate JDK Internals by Default による影響は十分に評価・準備することをお勧めします。
本セッションでは、JEP 396での変更点や影響、その背景を解説すると共に、アプリケーションでの評価・確認する際のポイントをご紹介します。

講演資料:
https://www.slideshare.net/tokumasu123/jdk-16-jep-396-jjug-ccc-2021-spring

Agenda:
・はじめに
・JEP 396: Strongly Encapsulate JDK Internals by Default
・モジュールに対するアクセス制御(モジュールシステムの基本)
・モジュールの分類(モジュールシステムにおける経過措置)
・モジュール分類間のアクセス制御(- illegal-access が発生する箇所(モジュール分類間)を知る!)
・JDK内部API(System Modules の非公開なAPIのうち、--illegal-access=deny の影響を受ける箇所(分類)を知る!)
・Java VM 起動オプション --illegal-access=<parameter>
・影響ある箇所の特定方法は?(その他 に分類されるJDK内部APIを利用する箇所を特定する)
・JDK 16で実行してみた...
・まとめ

採択 Intermediate Serverside 2021/05/23 13:00〜 Track B 50 min

サーバーレスAPIをKotlinで開発してみよう!

bulbulpaul ポール bulbulpaul

Presentation Type [Choose either from Standard / BeginnerSpeaker / StepUp]: Standard
Level [Choose either from Beginner / Intermediate / Advanced]: Intermediate
Categories [Choose either from Java SE / Jakarta EE / Server-side / Cloud / JVM / DevOps / Tools / Others]: Server-side
カンファレンス終了後にJJUG YouTubeチャンネルでセッション動画の公開を希望する / Agree to publish your session to JJUG YouTube channel after conference [Yes or No]: Yes

Abstract:
KotlinはJVMで動作する静的型付けのオブジェクト指向プログラミング言語です。
近年はアプリケーションフレームワークでのサポートも増え、サーバーサイド開発においても利用される機会が増えています。
また、アプリケーションをクラウド環境で実行する機会も増えてきており、よりアプリケーション開発に集中できるサーバーレスの利用も進んで来ています。
その利用が進むKotlinとサーバーレスを活用してAPI開発をするにはどうするのか。
今回はAWS環境を対象にしたサーバーレスAPI開発やテストについてコードも交えて解説をします。

3
採択 Intermediate Jakarta EE Standard 2021/05/23 13:00〜 Track C 50 min

Jakarta REST in depth

khasunuma 蓮沼 賢志 khasunuma

Presentation Type [Standard]:
Level [Intermediate]:
Categories [Jakarta EE]:
カンファレンス終了後にJJUG YouTubeチャンネルでセッション動画の公開を希望する / Agree to publish your session to JJUG YouTube channel after conference [Yes]:

Abstract:
Jakarta REST (旧 JAX-RS) は、今日の Jakarta EE (旧 Java EE) および MicroProfile において重要な役割を果たす API です。RESTful Web Services 向けに開発された API ではありますが、広く HTTP リクエスト/レスポンス処理に適用できる、非常に汎用的な API となっています。このセッションでは、既に Jakarta REST (旧 JAX-RS) の経験がある方を対象に、最新の仕様に基づいてより深く理解するための手助けをすることを目的としています。

1
採択 Advanced Java SE Standard 2021/05/23 13:00〜 Track D 50 min

ソフトウェアアーキテクチャの選び方

nrslib 成瀬 允宣 nrslib

Presentation Type [Choose either from Standard / BeginnerSpeaker / StepUp]: Standard
Level [Choose either from Beginner / Intermediate / Advanced]: Advanced
Categories [Choose either from Java SE / Jakarta EE / Server-side / Cloud / JVM / DevOps / Tools / Others]: Java SE
カンファレンス終了後にJJUG YouTubeチャンネルでセッション動画の公開を希望する / Agree to publish your session to JJUG YouTube channel after conference [Yes or No]: No

Abstract:
ソフトウェアはその生涯において、さまざまな要求を突き付けられます。
要求に応え続けるために必要なことは、コードをシンプルに保つことです。
ソフトウェアアーキテクチャは抽象化と問題の分割によって複雑性を減らし、コードをシンプルに保つことに貢献します。
ソフトウェアが中長期的に利用されることを前提とするのであれば、ソフトウェアアーキテクチャの理念やそれ自体を採用することは検討すべき事柄です。

しかしながら、ここにひとつの問題があります。
それはソフトウェアアーキテクチャが単一でないことです。

日夜進歩しつづけるソフトウェア開発の世界では、多くのソフトウェアアーキテクチャが生まれつづけています。
それらの中から、チームやソフトウェアの目的やライフサイクルに最適なものを選定するのは容易なことではありません。

そこで本トークでは「ソフトウェアアーキテクチャの選定」をテーマに、ソフトウェアアーキテクチャの特徴や実装例を紹介しながら、どういった観点で選定をしているかについてお話します。
本トークで取り上げる主なソフトウェアアーキテクチャは次のとおりです。

  • レイヤードアーキテクチャ
  • ヘキサゴナルアーキテクチャ
  • オニオンアーキテクチャ
  • クリーンアーキテクチャ
  • ADOP

※サンプルコードは Spring Boot を予定しています。

採択 Beginner Intermediate Java SE Cloud 2021/05/23 14:00〜 Track A スポンサーセッション(※スポンサー用)

Microsoft Build の OpenJDK に関する詳細のご共有と Java on Azure 最新アップデート

yoshioterada てらだよしお yoshioterada

Presentation Type : Standard
Level : Beginner to Intermediate
Categories : Java SE and Cloud
カンファレンス終了後にJJUG YouTubeチャンネルでセッション動画の公開を希望する: Yes
Abstract:
2021年4月6日、マイクロソフトは Microsoft が Build した OpenJDK をプレビュー版として提供開始する事を発表しました。
本セッションの前半では、今後の Azure での JVM の選択方法やロードマップ、サポート体制などをわかりやすくご紹介します。
また、後半では、2021 年の最新 Java on Azure の最新情報アップデートをご紹介します。

1
採択 Beginner Intermediate 2021/05/23 14:00〜 Track B スポンサーセッション(※スポンサー用)

Red HatのKafkaとサーバーレスコンピューティングでバッチ処理をニアリアルタイム化しよう

暮林達也

Presentation Type [Standard]:
Level [ Beginner / Intermediate]:
Categories [Choose at least one from Java SE / Jakarta EE / Server-side / Cloud / JVM / DevOps / Tools / Others]:
カンファレンス終了後にJJUG YouTubeチャンネルでセッション動画の公開を希望する / Agree to publish your session to JJUG YouTube channel after conference [Yes]:
Abstract:

Red HatではApache KafkaをUpstreamとしたAMQ Streamsというプロダクトをサポートしています。
昨今ではApache Kafkaに対してビジネスイベントを集約させ、Single source of truthとして扱うイベントドリブンアプリケーションが流行りはじめており、Red Hat でもバッチ処理をイベント・ドリブンアプリケーションに置き換えて、ニアリアルタイム化しようという活動をしています。

JJUG CCC 2020 Fallでも紹介したQuarkusと、Kafkaをどのように連携すればニアリアルタイム処理ができるのかを、Red Hat OpenShift上のKnativeによるサーバレス環境でのデモを中心としながらお伝えいたします。

またApache Kafkaのマネージドサービスについても簡単に紹介いたします。

3
採択 Beginner DevOps 2021/05/23 14:00〜 Track C スポンサーセッション(※スポンサー用)

少しずつ学べば繋がりが見えてくる!DevOpsを支えるツールと最近の技術トレンド

ihcomega よこな (横田紋奈) ihcomega

Presentation Type [Choose either from Standard / BeginnerSpeaker / StepUp]: Standard
Level [Choose either from Beginner / Intermediate / Advanced]: Beginner
Categories [Choose at least one from Java SE / Jakarta EE / Server-side / Cloud / JVM / DevOps / Tools / Others]: DevOps
カンファレンス終了後にJJUG YouTubeチャンネルでセッション動画の公開を希望する / Agree to publish your session to JJUG YouTube channel after conference [Yes or No]: Yes

Abstract:
DevOps、クラウドネイティブ、マイクロサービス、サーバーレス、コンテナ…日々耳にするこうした「流行りの」言葉、順調にキャッチアップできていますか?抵抗感なく向き合えますか?
このセッションではDevOpsやそれを支えるツールを見ていきながら、こうした流行がなぜ起こったのか、どう活用できるのかについて考えてみたいと思います。
スピーカーのよこなはエンジニアになってしばらく(今も!?)、周りのエンジニアが話す言葉の意味が全然分からないことや、気付いたら新しいトレンドがやってきて全然ついていけていない現実に悩まされていました。
そうした経験に基づき、まずはJavaエンジニアにとっても役に立つDevOpsの考え方を紐解き、そこから広げる形でそれ以外の考え方や技術に触れていきます。Javaそのものやコードを書くということについてのお話とは違い、もう少しその外側に目を向けるような内容です。
皆さんの知識の整理、そして開発環境の改善につながるようなセッションをお届けできればと考えています!

13
採択 Intermediate Java SE 2021/05/23 14:00〜 Track D 50 min

オンライン広告入札システムとZGC

hiroisojp 磯田 浩靖 hiroisojp

Presentation Type: Standard
Level: Intermediate
Categories: Java SE
カンファレンス終了後にJJUG YouTubeチャンネルでセッション動画の公開を希望する / Agree to publish your session to JJUG YouTube channel after conference: Yes

Abstract:
秒間36万リクエストをさばくオンライン広告入札システムにおける、Zガベージ・コレクタ(ZGC)への取り組みについてお話しします。
オンライン広告入札システムではRTB(リアルタイムビッディング)という仕組みで広告入札が行われ、遅くとも100ミリ秒のレイテンシが求められます。

ZGCはスケーラブルな低レイテンシのガベージ・コレクタであり、オンライン広告入札システムとの相性はよいのではないかと考えました。
一方でZGCの利用事例について公開されているものは数が少なく、私達も既存のG1GCとの比較を試行錯誤しながら検証をしています。

そこで、このセッションでは次の内容についてご紹介し、ZGCの適用を試みた背景から結果について共有したいと考えています。

  • 低レイテンシが求められるオンライン広告入札システムの概要
  • ZGCについて
  • オンライン広告入札システムにおける、G1GCとZGCの差異(グラフ、ログなどで比較)
3