如何为社交应用程序实现可伸缩的通知系统?

i34xakig  于 2021-06-21  发布在  Mysql
关注(0)|答案(0)|浏览(165)

我正在为另一个社交类型的应用程序开发一个通知系统。它有帖子、评论和其他一些特性,我现在的实现是这样的,
我为每个对象有不同的通知表(共6个表)(post\u notif、comment\u notif等)每个表存储notif\u id、to\u user、from\u user、type(like、favorite等)、object\u id、…、created\u at等。
每个表有4个以上的索引,因为有几个外键将在查询中联接(每个查询至少4个联接)。
所有6个表都使用union all查询,例如

SELECT col_a, col_b..
    UNION ALL
SELECT col_a, col_b..
    UNION ALL..
...

我需要的通知,以更新与任何更改的对象,可能会得到更新,所以它反映在用户看到的通知(例如,“约翰尼评论说:”太棒了!“,”johnny评论道:“那太好了。”)这就是在通知检索中为带有外键和union的对象创建单独表的原因。
我使用的是mysql,id是从票证服务器生成的,如果这有帮助的话,我使用nodejs作为api前端。
我的问题是
在我看来,这将是极其低效的应用程序的规模,我期待着看看是否有更好的方法或更有效的方法来做到这一点。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题