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)
- 兔子