entry-header-eye-catch.html
entry-title-container.html

entry-header-author-info.html
Article by

Kaigi on Rails 2023にピクシブから2名が登壇します!&見どころを紹介!

コミック事業部エンジニアのKNRです。この度、弊事業部よりimadokiと私の2名が、2023/10/27(日)-28(土)に開催されるKaigi on Rails 2023に登壇することになりましたのでお知らせします。 kaigionrails.org

登壇内容

imadokiとKNRは両名とも2日目(28日土曜日)の登壇となります。当日はピクシブとして会場内でブース出展もしておりますので、発表者両名と更に詳しい話をしていただくことや他サービスのエンジニアと話すことが可能ですので、ブースの方にもお越しいただけたらと思います。

Multiple Databasesを用いて2つのRailsプロジェクトを統合する(imadoki/13:05 〜 13:20)

kaigionrails.org

概要

マンガサービスpixivコミックに、姉妹サイトであるpixivノベルの機能の統合を進めている話をします。pixivノベルは元々pixivコミックをクローンして作成されたという経緯もあり、この2つのサービスは非常によく似ています。また、一貫して同じチームが開発し、マンガ・小説それぞれの作品種別の違いを意識しつつ、同じ目的を持った機能を双方に実装してきました。 今後は読者がマンガ・小説に拘らず両方の作品を楽しめるよう、両サービスの良さを生かしながら、より多くのユーザーにコンテンツを提供し、作品を広めるため、この2つのサービスを統合していく予定です。

統合はpixivコミック側にpixivノベルの機能を移植していく形で実装されており、pixivコミックのAPIサーバーからRailsのMultiple Databases機能を用いてpixivノベルが使用するDBを直接参照することで実現する方針です。2つのRailsサービスを稼働しながら1つのRailsサービスに統合していくための開発の進め方や気にしたポイントについて話したいと思っています。

見どころ

1つの大きなモノレポを複数のリポジトリに分解していく取り組みや、マイクロサービス化していく取り組みは多くあると思うが、今回は2つの同種のサービスを1つのRailsプロダクトに統合していく試みであり比較的珍しい取り組みである。その検討から統合までどう行ったのか具体的に発表を行います。

数十億のレコードを持つ5年目サービスの設計と障害解決(KNR/15:05 〜 15:35)

kaigionrails.org

概要

アプリケーション運用において、時間が経つにつれて各種データも蓄積されていきパフォーマンスが劣化していくことがあります。

Palcyは今年で5周年を迎えたスマホアプリで、そのバックエンドに蓄積されたデータも、テーブルによっては数十億オーダーに乗っており安易な機能実装がはばかられます。この発表ではそうしたデータとどう向き合い、運用や機能の実装を続けてきたかをお話しします。

見どころ

Palcyではユーザーアクセスによって生成された各種データから判定し、アプリ内で作品が読めるチケットを配布する「ミッション」と呼ばれる機能があります。本機能では相当数のレコードを参照しつつミッション達成の可否判断を行っていますが、これらはしばしばスロークエリなどの原因になったりします。それによりPalcyでは障害を発生させてしまうことがありました。それらをどうやって対応・解決したのか、またどう防いでいくのか実際に起きた事例をもとに発表を行います。

【広告】Kaigi on Rails 2023開催後「RubyMusicMixin on Rails 2023」を開催します!

Kaigi on Railsをピクシブらしく盛り上げるべく、弊社主催の懇親会「RubyMusicMixin on Rails 2023」を開催します!DJ & VJの参加枠はすでに募集を終了していますが、connpassにて一般参加枠はまだございますので奮ってご参加いただければと思います。

▼参加登録はconnpassから pixiv.connpass.com

▼イベントに関しては inside.pixiv.blog

KNR
2019年中途入社で前職ではモバイルアプリの立ち上げ、サーバーサイド運用などを経験。 現在はRails&AWSをメインにPalcyに関わっています。好きなAWSサービスはAWS Lambda。