More Related Content Similar to 使用 PostgreSQL 及 MongoDB 從零開始建置社群必備的按讚追蹤功能 (20) More from Mu Chun Wang (20) 使用 PostgreSQL 及 MongoDB 從零開始建置社群必備的按讚追蹤功能2. Kewang
●
王慕羣 Kewang
●
Java / JavaScript
●
HBase / PostgreSQL / MongoDB / Elasticsearch
●
Git / DevOps
●
熱愛開源
Linkedin
Linkedin kewangtw
kewangtw
SlideShare
SlideShare kewang
kewang
Gmail
Gmail cpckewang
cpckewang
Facebook
Facebook Kewang 的資訊進化論
Kewang 的資訊進化論
devopsday taipei
devopsday taipei '17
'17
hadoopcon
hadoopcon '14 '15
'14 '15
jcconf
jcconf '16 '17 '18
'16 '17 '18
modernweb
modernweb '18 '19 '20
'18 '19 '20
GitHub
GitHub kewang
kewang
Funliday
Funliday kewang
kewang
coscup
coscup '20
'20
mopcon
mopcon '14 '20
'14 '20
50. 50
Acquire lock
Set if key doesn’t exist
1. journalid_like : lock 時,同一篇 journal 僅允許按讚一次
2. like_memberid : lock 時,同一人僅允許按讚一次
3. journalid_like_memberid : lock 時,同一篇 journal 僅允許同一人按讚一次
51. 51
Acquire lock
Set expire time
Set if key doesn’t exist
1. journalid_like : lock 時,同一篇 journal 僅允許按讚一次
2. like_memberid : lock 時,同一人僅允許按讚一次
3. journalid_like_memberid : lock 時,同一篇 journal 僅允許同一人按讚一次
65. 65
Architecture diagram - right way
client A server MQ
FCM
like req.
produce job
like res. consume job
client B
worker
FCM req.
66. 66
Architecture diagram - right way
client A server MQ
FCM
like req.
produce job
like res. consume job
client B send push
worker
FCM req.
86. 86
MQ 有多種 producer 及 consumer
broker trip consumer
trip producer
product producer
journal producer
product consumer
journal consumer
141. 141
References
1. Distributed locks with Redis
2. The Architecture Twitter Uses To Deal With 150M Active Users,
300K QPS, A 22 MB/S Firehose, And Send Tweets In Under 5 Se
conds
3. BullMQ - Premium Message Queue for NodeJS based on Redis