talk
避けられないI/O待ちに対処する: RailsアプリにおけるSSEとAsync gemの活用
実用的・商業的なRailsアプリケーションを開発・運用していると、I/Oの遅さがエンドユーザー体験を損ねる場面にしばしば直面します。
その原因について考えると、オンラインで実行されるDBの参照・集計・更新処理が単純に遅かったり、micro servicesによるコンポーネント間のAPI通信であったり、あるいは昨今ではAI (LLM) サービスとの繋ぎ込みによる推論待ちであったりと様々です。
こうしたI/O待ちは多くの場合最適化の余地が限られており「避けられない待ち時間」としてシステムに組み込まれがちです。
本セッションでは、RailsとLLMをインテグレーションした複数の機能開発により得られた知見をもとに、I/Oがどうしても遅いアプリ(つまり速くできる余地がほぼない状況)であってもSSE (server-sent events) とAsync gemを併用してエンドユーザーの体験を犠牲にしない、あるいは良くするための具体的なTipsと実践的手法を紹介します。
I/O負荷の高い処理や外部サービスとの連携機能をRailsで扱う(ことに興味のある)エンジニアを主な対象とし、明日から応用可能な非同期アーキテクチャの導入手法をお届けします。
またこれらに加えて、一連の活動を通じて行ったOSSへの貢献・フィードバック等についても共有できればと思います。
Speaker
moznion
株式会社スマートバンク ソフトウェアエンジニア
大学在学中の2013年よりLINE株式会社にてブログサービスや動画配信サービス、ウェブ広告配信システムなどの高トラフィックなウェブサービスの設計・開発に従事。その後、2017年に異業種であるテレコムスタートアップの株式会社ソラコムに転職し、セルラーコアネットワークを中心とする複数のソフトウェアコンポーネントの設計・開発を担当。
2024年6月より現職。AI家計簿アプリ「ワンバンク」を中心としたソフトウェアプロダクトの開発をRuby on Railsを中心技術に据えて行なっている。
2015年The Perl Foundation Grants Committee ProgramにてPerl::Lintが採択。builderscon Tokyo 2018にてベストスピーカー賞を受賞。YAPC::Hakodate 2024キーノートスピーカー。