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
1.2k
20220926_セキュリティチームの今_for_Drs._Prime_公開用.pdf
sota1235
0
83
再発防止策を考える技術 / #phpconsen
sota1235
10
3.7k
How to choose the best npm module for your team?
sota1235
9
560
Realtime Database for high traffic production application
sota1235
7
3.9k
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.3k
Other Decks in Technology
See All in Technology
alecthomas/kong はいいぞ / kamakura.go#7
fujiwara3
1
300
KubeCon NA 2024 Recap / Running WebAssembly (Wasm) Workloads Side-by-Side with Container Workloads
z63d
1
250
複雑性の高いオブジェクト編集に向き合う: プラガブルなReactフォーム設計
righttouch
PRO
0
120
NW-JAWS #14 re:Invent 2024(予選落ち含)で 発表された推しアップデートについて
nagisa53
0
270
10個のフィルタをAXI4-Streamでつなげてみた
marsee101
0
170
kargoの魅力について伝える
magisystem0408
0
210
Google Cloud で始める Cloud Run 〜AWSとの比較と実例デモで解説〜
risatube
PRO
0
110
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
350
ゼロから創る横断SREチーム 挑戦と進化の軌跡
rvirus0817
2
270
サーバレスアプリ開発者向けアップデートをキャッチアップしてきた #AWSreInvent #regrowth_fuk
drumnistnakano
0
200
TSKaigi 2024 の登壇から広がったコミュニティ活動について
tsukuha
0
160
Oracle Cloud Infrastructure:2024年12月度サービス・アップデート
oracle4engineer
PRO
0
210
Featured
See All Featured
Designing for Performance
lara
604
68k
Thoughts on Productivity
jonyablonski
67
4.4k
A Tale of Four Properties
chriscoyier
157
23k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Typedesign – Prime Four
hannesfritz
40
2.4k
The World Runs on Bad Software
bkeepers
PRO
65
11k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
290
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
98
It's Worth the Effort
3n
183
28k
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