Ale*_*sen 2 messaging amqp rabbitmq rabbitmq-exchange
我正在寻找一种方法来保护我的网站消息系统,以便用户只能获取他们应该有权访问的数据。考虑到这一点,我想到了一个系统,其中我有一个主主题交换,我的服务器将向其发送所有消息。
该网站为每个用户保存一个 sessionId。当用户通过身份验证时,会创建另一个名为 sessionId 的交换。客户端用户可以绑定到除主交换机之外的所有交换机。由于 sessionID 是唯一的,因此很难猜测其他用户的 sessionID 并绑定以获取他们的消息。
每条消息都会有一个 sessionID.destination 的路由键。客户端将知道所有潜在的目的地。
为了帮助可视化:
-> SessionID Exchange -> client
Server -> master Exchange | -> SessionID Exchange -> client
-> SessionID Exchange -> client
Run Code Online (Sandbox Code Playgroud)
我的问题有两个方面。是否可以将交换器与rabbitmq中的交换器绑定?另外,以前有人建立过这样的系统吗?相反,在这个主题上有经验的人是否已经拥有我可以使用的工作系统?
先谢谢了。
是的,可以绑定、交换和交换。您甚至可以进行不同类型的交换。您需要使用channel.exchangeBind()而不是channel.queueBind(). 但它的工作原理类似。
我的系统中有一个主题交换绑定到一个扇出交换。我确保将路由密钥与发送到扇出交换的消息一起发送。它在扇出交换级别没有影响,但是当它被路由到主题交换时,路由键将用于确定它被发送到哪些队列。
| 归档时间: |
|
| 查看次数: |
6178 次 |
| 最近记录: |