在 COSCUP 2021 分享的「使用 PostgreSQL 及 MongoDB 從零開始建置社群必備的按讚追蹤功能」

這是今年小編在 COSCUP 上分享的內容,「使用 PostgreSQL 及 MongoDB 從零開始建置社群必備的按讚追蹤功能」,分享了 Funliday 在建置「按讚」、「追蹤」的實作經驗。

其中包括了 PostgreSQL table、Redlock key、MongoDB document 的設計思路,以及如何使用 BullMQ 來串接不同的服務,以提昇效能。


其實這場裡面分享的一些做法,不一定適合每個情境,像是反正規化因為要同步許多欄位,在需要精準控制 table 狀態的情境就要花很大功夫處理,但這也是在使用 NoSQL 時的必學課題。

另外 lock key 也是在處理同步時一個很重要的設計,先搞懂要解決的問題是哪一種,如果想解決的是同一篇文章不能在 lock 期間給不同的使用者按讚,那 key 就要設計為 journalid_like 才對。


因為疫情關係,所以這次的 COSCUP 改在線上進行,使用 Gather town 也是一個蠻有趣的嘗試。但還是希望疫情能趕快過去,全世界回到正常生活吧!

References