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.9k
大量のコメントを捌く技術 / 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.6k
20220926_セキュリティチームの今_for_Drs._Prime_公開用.pdf
sota1235
0
120
再発防止策を考える技術 / #phpconsen
sota1235
10
3.8k
How to choose the best npm module for your team?
sota1235
9
590
Realtime Database for high traffic production application
sota1235
7
4k
Road to migrate JP Web as a microservice
sota1235
4
1.6k
インターフェース再入門 / Think Interface again
sota1235
6
11k
再発防止策を考える技術 #phpconfuk_rej
sota1235
1
1.2k
Update around Firebase #io18
sota1235
3
4.3k
Other Decks in Technology
See All in Technology
GitHub ActionsをTypeScriptで作ろう!
sansantech
PRO
2
360
CloudTrailも、GuardDutyも、VPC Flow logsも… ログ多すぎ問題の整理術
nikuyoshi
4
530
AIに実況させる / AI Streamer
motemen
1
1k
HA K8s Clusterのスタンダードが覆る!? Cilium 1.18の🔥激アツ🔥新機能
logica0419
0
110
撤退危機からのピボット : 4年目エンジニアがリードする TypeScript で挑む事業復活 / crisis-to-pivot-4th-year-engineer-ts-relaunch
carta_engineering
2
730
情熱と工夫で走り抜け! コミュニティをささえるObservability実践録
b1gb4by
1
120
初参加のハノーバーメッセで感じた世界最大級イベントの熱気とAI活用の未来
hamadakoji
0
210
それでもぼくらは貢献をつづけるのだ(たぶん) @FOSS4GLT会#002
furukawayasuto
1
220
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
360k
エッジ活用の最適解とは? 新しいエッジ処理アーキテクチャ「Edge-as-a-Service」構想について
kakerucom
0
110
プラットフォームとしての Datadog / Datadog as Platforms
aoto
PRO
1
250
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
17k
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.6k
Thoughts on Productivity
jonyablonski
69
4.7k
Adopting Sorbet at Scale
ufuk
76
9.4k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
GraphQLとの向き合い方2022年版
quramy
46
14k
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
820
4 Signs Your Business is Dying
shpigford
183
22k
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