我有一个用户创建用例:当用户创建时,应该向他发送一封欢迎邮件。
在我目前的实现中,我有两个服务:
- 用户服务(API(
- 通知服务
我创建了一个";通知队列";使用BullMQ
创建新用户时(通过用户服务(,用户服务会向通知队列添加一个新作业,通知服务(作为该队列的工作人员(会接收该作业并向用户发送欢迎邮件。
我选择BullMQ是因为它非常容易设置,而且我可以利用许多好处,如作业优先级、速率限制和作业的并发处理。
BullMQ和其他消息队列(如rabbitMQ(之间有什么区别?我知道BullMQ和rabbitMQ是完全不同的东西(作业队列和消息队列(,但由于我不知道它们之间的区别,我仍然不知道它们中的哪一个最适合像我这样的用例
在两者之间进行选择时,我应该考虑什么?
此外,在我的情况下,用户服务不期望任何响应,通知服务感觉更适合事件。。。(比如,用户服务应该发布一个事件"用户创建",通知服务应该是该事件的订阅者并对其进行操作。(;事件驱动设计";可以用队列完成吗?
BullMq是一个nodejs库,它使用redis作为消息代理。