広告配信システムは100ms以内に応答する事が最低条件で、より多くのリクエストをより高速に捌く事が求められます。
一方で新機能は増え続け、扱うデータ量は日に日に増してきています。そんな厳しい制約のもと、私達は限界までアプリケーションのチューニングに挑んできました。
その活動の中で得られた知見を、Akkaのアクターモデルを利用した非同期プログラミングやデータの特性を考慮したミドルウェアの選定を始めとした様々な視点から、高速化のコツをご紹介します。
松宮 康二[マイクロアド]
株式会社マイクロアド
システム開発本部 チーフエンジニア
2016年に新卒入社。以降、広告配信プラットフォーム「BLADE」の開発を担当し、2017年は到達順序を保証したリアルタイムデータを扱うためにKafka, Spark Streamingを用いたストリーム処理基盤を開発。その後、BLADEを改良した新広告配信プラットフォーム「UNIVERSE Ads」のスクラッチ開発を担当し、Scala/Akkaを用いたリアクティブシステムの構築とDDDによるアーキテクチャ設計に挑戦。現在は、ユニットリーダー兼テックリードとしてUNIVERSE Adsの開発を牽引しています。