Lambda SnapStartをServerless Frameworkでデプロイする
先日、AWSからLambda SnapStartの発表がありました。 Accelerate Your Lambda Functions with Lambda SnapStart (邦訳)Lambda SnapStart で Lambda 関数を高速化 この発表は、LambdaでのJava(含むJVM言語)の存在感を高めるきっかけとなりそうです。 GraalVMは別にして、一般的にJavaで作成したアプリケーションは起動に時間がかかります...
記事を読むAuth0 java-jwtを使った素のJWT認証
これは、豆蔵デベロッパーサイトアドベントカレンダー2022第10日目の記事です。 JWT認証としてはOIDC(OpenIDConnect)が有名ですが、今回は仕組みを素から理解することを目的にAuth0のjava-jwtを使ってJWT認証の簡単な仕組みを作ってみたいと思います。 なお、JWTやJWT認証ってそもそもなに?という方は「基本から理解するJWTとJWT認証の仕組み」から読まれることをお勧めします。 また、記事はサンプルアプリの必要な部分の抜粋を記載しています...
記事を読むCRaCによるJavaの高速化
これは、豆蔵デベロッパーサイトアドベントカレンダー2022第2日目の記事です。 先日、JavaのLambda関数の起動を高速化するLambda SnapStartがAWSから発表されましたが、このLambda SnapStartにはJavaのCRaC(Coordinated Restore at Checkpoint)が使われています。 CRaCは起動の高速化と即時にピーク性能を発揮させる技術です。CRaCが登場した背景にはJavaの起動の遅さがあります...
記事を読むMicroProfile OpenTracingとJaegerで理解する分散トレーシング
今回のテーマは前回のMicroProfile Metricsに続き可観測性のもう一角をなす分散トレーシングのMicroProfile OpenTracing(MP OpenTracing)です。MP OpenTracingの仕様は主にランタイム提供ベンダー向けのもので利用する側はランタイムがトレース情報を自動計測してくれるため、その存在を意識することはほぼありません...
記事を読むMicroProfile Metricsの機能と利用
今回のテーマはマイクロサービスアーキテクチャの重要な非機能として挙げられるモニタリングに関するMicroProfile Metrics(MP Metrics)です。MicroProfile Metricsはサーバーのリソース状況や利用頻度といった数値情報(テレメトリーデータ)の測定とその提供(公開)を担う仕様になります。記事ではサンプルアプリを例にMP Metricsでどのようなメトリクス情報を収集することができるかを説明していきます。 なお、記事はコードの抜粋を記載しています...
記事を読むなぜStringの比較に等価演算子(==)を使ってはいけないの?
はじめに # 日頃、Javaの初心者からベテランまで様々なスキルレベルの方から質問を頂く立場で仕事しておりますが、Java言語を使用するうえで基本事項でありながらも、あまり理解されていない事柄があると感じています。これらの事柄については改めて誰かに質問することもできず、「そういうもの」として無理やり納得しやり過ごしている方がいるのではないでしょうか...
記事を読む初心者のためのJavaプログラミング再学習(その2 例外処理(1))
はじめに # 「初心者のためのJavaプログラミング再学習」の第2回目の記事です。この連載では、Javaプログラミングを網羅的にカバーするのではなく、新人研修等で躓く受講者が多い部分、一度勉強したけど理解が難しい部分に絞って執筆する予定です。 前回の記事は以下になります。 初心者のためのJavaプログラミング再学習(その1 基本データ型とオブジェクト型) 今回は「例外処理」について解説します。 例外の基本 # 例外とは? # 例外処理の前に、そもそも例外とはどのようなものでしょうか...
記事を読むMicroProfile Fault Tolerance(3) - 例で理解する設定編
MicroProfile Fault Tolerance(MP Fault Tolerance)を紹介する最後は設定によるフォールトトレランス機能の指定です。今回も前回同様、MP Fault Toleranceから提供される機能とその設定を「こんなことをしたい」的な利用シーンごとに説明していきます。なお、MP Fault Toleranceの機能は豊富なため説明は前々回の基本機能編、前回の非同期編、そして今回の設定編と3回に分けて行っています。 記事はコードの抜粋を記載します...
記事を読むMicroProfile Fault Tolerance(2) - 例で理解する非同期編
MicroProfile Fault Tolerance(MP Fault Tolerance)を紹介する2回目は非同期呼び出しに対するフォールトトレランス処理です。今回も前回同様、MP Fault Toleranceから提供される機能とその設定を「こんなことをしたい」的な利用シーンごとに説明していきます。なお、MP Fault Toleranceの機能は豊富なため説明は前回の基本機能編、今回の非同期編、次回の設定編の3回に分けて行います。 記事はコードの抜粋を記載します...
記事を読むMicroProfile Fault Tolerance(1) - 例で理解する基本機能編
今回のテーマはマイクロサービスでは定番のタイムアウトやリトライ、サーキットブレーカーなどの耐障害性に関する機能を提供するMicroProfile Fault Tolerance(MP Fault Tolerance)です。MP Fault ToleranceはMicroProfileランタイムから提供される機能をコンフィグレーションして利用する形態となるため基本的に作りものはありません...
記事を読む