Google Guavaを利用したSpring Boot非同期イベント基盤の構築
メインリクエストのレスポンス時間を短縮しつつ、監査ログの出力や通知送信などの後続処理をバックグラウンドで実行したいケースは多い。Guavaライブラリが提供するAsyncEventBusを利用すれば、Pub/Subモデルに基づいた非同期イベント処理を簡潔に実装できる。コアロジックと副次処理を分離し、拡張性を保つためのSpring Boot統合手順を以下に示す。
1. 依存関係の追加
Ma ...
7月7日 21:18 投稿
高競合環境における AtomicLong の性能ボトルネックと LongAdder による最適化
原子変数クラスにおける競合の課題
Java の concurrent パッケージ提供する AtomicLong や AtomicInteger は、ロックフリーでスレッドセーフな操作を保証しますが、高競合状態下では性能が低下する傾向があります。これは、内部で CAS (Compare-And-Swap) 命令をループさせて更新を試みる仕組みに起因します。
複数のスレッドが同時に同一のメモリ位置を更新しようとする場 ...
6月4日 21:27 投稿