我很难理解 ZeroMQ 消息传递系统,所以在深入研究之前,我想看看是否有人知道我想做的事情是否可行。
我想使用 ZeroMQ 设置一个发布订阅服务器,它将发布某些数据流并订阅其中一些流,用户必须进行身份验证才能查看他们是否有权访问这些流。我所看到的所有内容都使用 zmq.SUBSCRIBE 命令进行订阅。
可以修改它以进行身份验证吗?它支持开箱即用吗?
我很难理解 ZeroMQ 消息传递系统,所以在深入研究之前,我想看看是否有人知道我想做的事情是否可行。
我想使用 ZeroMQ 设置一个发布订阅服务器,它将发布某些数据流并订阅其中一些流,用户必须进行身份验证才能查看他们是否有权访问这些流。我所看到的所有内容都使用 zmq.SUBSCRIBE 命令进行订阅。
可以修改它以进行身份验证吗?它支持开箱即用吗?
不,开箱即用没有这样的功能。ZeroMQ 在较低级别上运行,很可能 auth-features 永远不会出现在核心中。
由于 pubsub 是在 IP-multicast 之上实现的,我可以建议编写一个 auth-server 来控制网络路由器并禁止通过 IP/端口到客户端的所有多播流量,直到该客户端不会被授权。当然,在这种情况下,您可以自由选择身份验证方法。
如果可以牺牲ZeroMQ的稳定性和性能来牺牲开发成本,就拿ActiveMQ吧。它具有身份验证功能。