Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
大量のコメントを捌く技術 / API Talk about mercari channel
Search
Sota Sugiura
January 31, 2018
Technology
1
2.8k
大量のコメントを捌く技術 / API Talk about mercari channel
API TALK about メルカリチャンネルでの登壇資料です
https://mercari.connpass.com/event/73609/
Sota Sugiura
January 31, 2018
Tweet
Share
More Decks by Sota Sugiura
See All by Sota Sugiura
内製したSlack Appで頑張るIncident Response@Waroom Meetup #1 / Incident Response with Slack App in 10X
sota1235
0
920
20220926_セキュリティチームの今_for_Drs._Prime_公開用.pdf
sota1235
0
61
再発防止策を考える技術 / #phpconsen
sota1235
10
3.6k
How to choose the best npm module for your team?
sota1235
9
520
Realtime Database for high traffic production application
sota1235
7
3.8k
Road to migrate JP Web as a microservice
sota1235
4
1.5k
インターフェース再入門 / Think Interface again
sota1235
6
10k
再発防止策を考える技術 #phpconfuk_rej
sota1235
1
1.1k
Update around Firebase #io18
sota1235
3
4.2k
Other Decks in Technology
See All in Technology
なにもしてないのにNew Relicのデータ転送量が増えていたときに確認したこと
tk3fftk
2
220
JEP 480: Structured Concurrency
aya_ebata
0
130
四国クラウドお遍路 2024 in 高知 オープニング
yukataoka
0
200
Road to Single Activity
yurihondo
1
230
サプライチェーン攻撃に備える
ryunen344
0
270
20240912 JJUGナイトセミナー
mii1004
0
140
20240911_New_Relicダッシュボード活用例
speakerdeckfk
0
100
突撃! 隣のAmazon Bedrockユーザー 〜YouはどうしてAWSで?〜
minorun365
PRO
3
380
より快適なエラーログ監視を目指して
leveragestech
4
1.4k
言葉は感情の近似値である。その感情と言葉の誤差を最小化しよう ~コミュニケーションにおけるアナログ/デジタル変換の課題に立ち向かう~
nktamago
0
190
あなたの知らないiOS開発の世界
recruitengineers
PRO
3
170
Swift Testingのconfirmationを コードリーディング/Dive into Swift Testing confirmation
laprasdrum
2
250
Featured
See All Featured
The Brand Is Dead. Long Live the Brand.
mthomps
53
38k
What the flash - Photography Introduction
edds
67
11k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
36
2.1k
Happy Clients
brianwarren
96
6.6k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
0
96
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
109
6.9k
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Build your cross-platform service in a week with App Engine
jlugia
228
18k
10 Git Anti Patterns You Should be Aware of
lemiorhan
653
58k
Art, The Web, and Tiny UX
lynnandtonic
294
20k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
32k
Transcript
大量 コメントを捌く技術 @sota1235 2018/1/23 API Talk about メルカリチャンネル
自己紹介 ▪ @sota1235 ▪ Sota Sugiura ▪ 入社1年経ちました ▪ 将来
夢 JavaScriptです
最初に ▪ これだけ 覚えて帰ってほしいことがあります
メルカリチャンネル
メルカリチャンネル?
ˈ メルカリチャンネル
ˉ メルチャン
あと おまけです
アジェンダ ▪ お客さまにとって コメント ▪ 開発者にとって コメント ▪ コメント機能 未来
お客さまにとって コメント
None
視聴者数 入室メッセージ 視聴者コメント 各種通知メッセージ いい
視聴者数 入室メッセージ 視聴者コメント 各種通知メッセージ いい
コメント機能 ▪ ログインしていれ 誰でも可能 ▪ 配信者、視聴者全員が見られる
なぜコメント機能?
なぜ◯◯でなくメルチャン?
なぜメルチャン? ▪ なぜECサイトで ない? ▪ なぜテレビショッピングで ない? ▪ なぜメルカリで ない?
なぜか Seller Buyer Broadcast Comment ▪ そ 場でコミュニケーションが取れるから
コミュニケーション ▪ 「そ 野菜 おすすめ 食べ方 ?」 ▪ 「そ アクセサリ、アレンジできない?」
▪ 「あと500円安かったら買います」 ▪ 「送料込みにできませんか?」
買い物に限らない ▪ 挨拶したり ▪ 雑談したり ▪ ゲームしたり
例えるなら、八百屋?
例えるなら、八百屋? へいらっしゃい
数字で見るコメント機能 ▪ 配信によって 毎秒1個以上 コメントが投稿され ている ▪ 運用しているFirebase Realtime Database
インス タンス数 世界最大級
コメント メルチャン 肝 ▪ 「映像が見られる」に次いで大事な機能 ▪ もしもコメントが無かったら… ▪ ライブである必要が無い
開発者にとって コメント
要件定義 ▪ 細かい要件 一杯ある ▪ ログインユーザしかコメントできない ▪ ユーザ名にいい感じに色を付ける ▪ NGワード
フィルタリング ▪ etc...
一番必要な要件 ▪ コミュニケーション機能として確立すること
Face to face
face to face感を出すために ▪ 遅延がない ▪ コメントが埋もれていかない ▪ 配信者がきちんと拾える
遅延がない ▪ コメントを投稿したらすぐに反映される ▪ Firebase Realtime Databaseを用いて実現
ちなみに ▪ 多く 機能でFirebase Realtime Databaseを利用し ています
視聴者数 入室メッセージ 視聴者コメント 各種通知メッセージ いい
コメントが埋もれていかない ▪ 生放送な で放送途中に視聴することがある ▪ 途中から直近N件 コメントを表示するよう改善
コメントが埋もれていかない ▪ 生放送な で放送途中に視聴することがある ▪ 途中から直近N件 コメントを表示するよう改善 ▪ 結果、コメント率が改善
配信者が読める ▪ 視聴者以上にコメントを読めることが重要 ▪ 唯一無二 コミュニケーション手段
より読みやすく ▪ 視聴者よりも文字を大きく ▪ 同じユーザ 同じ色で表示
視聴者画面 配信者画面
配信画面 文字を大きく 視聴者画面 配信者画面
ユーザ名 色を固定 視聴者画面 配信者画面
コメント機能 未来
大きく2つ ▪ 今あるコメント機能 改善 ▪ 新しいコミュニケーション 創造
コメント機能 改善
今 問題点 ▪ スケールアップ問題 ▪ モニタリング問題 ▪ コメント 表現力
スケールアップ問題 ▪ Firebase Realtime Database スケールアップしな い ▪ 現在 複数インスタンスを運用中
スケールアップ問題
シャーディング
スケールアップ問題 ▪ 今 ところ 回ってる ▪ が、手動で インスタンス追加がツライ ▪ 急成長する(現在進行系)サービスで
限界がある
New Architecture ▪ Cloud Firestore 検証、移行したい ▪ 自社実装もありうる ▪ いずれも難易度が高いながら、技術的にやりがい
あるチャレンジ
モニタリング問題 ▪ コメント機能が快適に動いてるか 監視 ▪ “快適に” 定義が非常に難しい ▪ モニタリング→自動切り替え等 Karakuriが求め
られる
コメント 表現力 ▪ 文字がコメントできるだけでいい か? ▪ 今 UIってベスト? ▪ コメントが右から左に流れていっても面白いかもし
れない
新しいコミュニケーション 創造
再掲 コミュニケーション 構図 Seller Buyer Broadcast Comment
これから…? Seller Buyer Broadcast ???
半年後 メルカリチャンネル きっと… ▪ スタンプ機能 ▪ コメント自動読み上げ ▪ 自動返信 ▪
模索 余地がまだまだある
[WIP]半年後 メルチャン Seller Buyer Broadcast 自動読み上げ AI ライブ参加 仮想通貨 機械学習
etc...
Thank you