Node.js 我应该为消息队列中的事件消息实施身份验证吗?

Node.js 我应该为消息队列中的事件消息实施身份验证吗?,node.js,rabbitmq,message-queue,Node.js,Rabbitmq,Message Queue,在(我在实现队列消息传递系统时,将本书用作参考)中,有命令消息、文档消息等概念 在我的系统中,我决定使用事件消息。因此,当数据库中的文档更新时,它会广播如下事件消息: routing key: 'UserUpdated' body: { _id: '5787f132f50f7b03002cf835' } 然后,任何感兴趣的观察者都可以通过RPC(请求/回复)通道简单地请求文档的最新版本(本例中为“用户”),并对该状态执行他们需要执行的操作,以便在他们自己的服务中进行更改(例如,当一个用户被更新

在(我在实现队列消息传递系统时,将本书用作参考)中,有命令消息、文档消息等概念

在我的系统中,我决定使用事件消息。因此,当数据库中的文档更新时,它会广播如下事件消息:

routing key: 'UserUpdated'
body: { _id: '5787f132f50f7b03002cf835' }
然后,任何感兴趣的观察者都可以通过RPC(请求/回复)通道简单地请求文档的最新版本(本例中为“用户”),并对该状态执行他们需要执行的操作,以便在他们自己的服务中进行更改(例如,当一个用户被更新时,另一个系统可能想知道它,然后将该用户记录缓存在Redis或其他东西中)

在我的其他消息类型(例如,像
UpdateUser
这样的命令消息)中,我还在消息头中发送授权令牌。这是有意义的,因为命令
UpdateUser
旨在调用另一个系统中的更改

但是,在事件消息中放置授权令牌是否有意义

我的想法是,事件不一定要求对任何观察者进行更改,也不需要“授权”来通知系统发生的事情(此外,两个系统已经连接到同一个队列服务器,这需要一些身份验证);相反,观察者只需在消息中看到一些_id,并单独请求一个文档,然后可以根据需要更改其自己的服务(在向发起事件消息的服务器请求文档时,观察者提供了一个授权令牌)。有什么想法吗

对于任何对实施细节感兴趣的人:

  • node.js(带amqplib)
  • 兔子
然而,在里面放一个授权令牌有意义吗 事件消息的数量

不,只要没有人可以伪造事件消息

然而,在里面放一个授权令牌有意义吗 事件消息的数量

不,只要没有人可以伪造事件消息