2023年10月27日(金)〜10月28日(土)に開催されるKaigi on Rails 2023にて、ピクシブ株式会社はRuby Sponsorとしてスポンサーシップを行い、企業ブースを出展いたします。
Kaigi on Railsのコアコンセプトは 「初学者から上級者までが楽しめるWeb系の技術カンファレンス」 です。Kaigi on Railsは技術カンファレンスへの参加の敷居を下げることを意図して企画されています。
弊社からは下記エンジニア2名が登壇します。
・コミック事業部 Palcy部 KNR
・コミック事業部 pixivコミック部 開発チーム imadoki
イベント名:Kaigi on Rails 2023
公式HP:https://kaigionrails.org/2023/
開催日時:2023年10月27日(金)〜10月28日(土)
開催場所:浅草橋ヒューリックホール&カンファレンス
主催:Kaigi on Rails Team
KNRからのコメント:
アプリケーション運用において、時間が経つにつれて各種データも蓄積されていきパフォーマンスが劣化していくことがあります。
Palcyは今年で5周年を迎えたスマホアプリで、そのバックエンドに蓄積されたデータも、テーブルによっては数十億オーダーに乗っており安易な機能実装がはばかられます。この発表ではそうしたデータとどう向き合い、運用や機能の実装を続けてきたかをお話しします。
Palcyではユーザーアクセスによって生成された各種データから判定し、アプリ内で作品が読めるチケットを配布する「ミッション」と呼ばれる機能があります。本機能では相当数のレコードを参照しつつミッション達成の可否判断を行っていますが、これらはしばしばスロークエリなどの原因になったりします。それによりPalcyでは障害を発生させてしまうことがありました。それらをどうやって対応・解決したのか、またどう防いでいくのか、実際に起きた事例をもとに発表します。
imadokiからのコメント:
マンガサービスpixivコミックに、姉妹サイトであるpixivノベルの機能の統合を進めている話をします。pixivノベルは元々pixivコミックをクローンして作成されたという経緯もあり、この2つのサービスは非常によく似ています。また、一貫して同じチームが開発し、マンガ・小説それぞれの作品種別の違いを意識しつつ、同じ目的を持った機能を双方に実装してきました。 今後は読者がマンガ・小説に拘らず両方の作品を楽しめるよう、両サービスの良さを生かしながら、より多くのユーザーにコンテンツを提供し、作品を広めるため、この2つのサービスを統合していく予定です。
統合はpixivコミック側にpixivノベルの機能を移植していく形で実装されており、pixivコミックのAPIサーバーからRailsのMultiple Databases機能を用いてpixivノベルが使用するDBを直接参照することで実現する方針です。2つのRailsサービスを稼働しながら1つのRailsサービスに統合していくための開発の進め方や気にしたポイントについて話したいと思っています。
1つの大きなモノレポを複数のリポジトリに分解していく取り組みや、マイクロサービス化していく取り組みは多くあると思いますが、今回は2つの同種のサービスを1つのRailsプロダクトに統合していくという事例についてどのような取り組みを行ったのか発表いたします。