NodeJS 中处理通知的最佳架构是什么

问题描述 投票:0回答:1

我们有一个在 ECS 上运行的 NodeJS 应用程序。它是 PostgreSQL 的 REST 服务。

我们必须实施通知系统。管理员可以从前端(网络)创建通知,并将这些通知发送到移动应用程序和网络应用程序。

通知可以在确切的时刻发送,安排稍后发送,并且可以重复发送,以便它们每周在特定的一天、每天、每个工作日发生。

到目前为止我得到了什么:

  • 使用 BullMQ 来调度作业、延迟作业和可重复作业。
  • 将通知数据发送到作业,以便它可以运行并通过 Pusher Beams 发送通知
  • 通知有时还包含过滤器来过滤用户,因此作业还将连接到数据库并获取必须向其发送通知的用户 ID。

现在,BullMQ 需要 Redis 才能工作。有没有其他最好的方法我们可以使用 PostgreSQL DB 或 BullMQ 以外的其他库来避免 redis(避免 redis 因为我们需要设置 EC2 实例,所以需要额外的成本。但如果这是最好的方法,那么我想,我们必须这么做。)

那么,考虑到开发人员的体验,我的方法是处理这种情况的最佳方法吗?

到目前为止我得到了什么:

  • 使用 BullMQ 来调度作业、延迟作业和可重复作业。
  • 向作业发送通知数据,以便它可以通过 Beams 运行并发送通知
  • 通知有时还包含过滤器来过滤用户,因此作业还将连接到数据库并获取必须向其发送通知的用户 ID。
node.js architecture pusher bullmq
1个回答
0
投票

部分答案

对于可扩展的 BullMQ 架构,您可以在 Medium 上查看我的故事。您可以使用它作为基础,并通过添加其余要求来扩展它。

© www.soinside.com 2019 - 2024. All rights reserved.