我们有没有支持STOMP 1.1和自动故障转移的Python客户端?
我需要用一些Python的STOMP客户端来和我的ActiveMQ服务器进行交流,使用的是stomp协议。我搜索了一些Python的STOMP客户端库,发现有几个,但它们只支持STOMP 1.0版本。不过,我需要STOMP 1.1版本的一些功能,比如心跳支持,所以我在找支持STOMP 1.1的Python客户端库。有没有这样的Python客户端库呢?
另外,有没有支持故障转移功能的Python客户端库呢?
[更新] 看起来stomppy支持STOMP 1.1,但我还是没有找到支持自动故障转移的客户端。
2 个回答
4
我刚刚发布了 stompest 2.1,这个版本支持在连接失败时自动切换到备用服务器(不仅仅是在初次连接时,而且在重新连接时可以选择重新订阅之前的消息)。它还完整实现了 STOMP 1.0、1.1 和 1.2 协议,包括心跳检测和对 Unicode 的支持。
0
这看起来比我预想的要复杂一些,而且有一些原因让人不太可能开发一个带自动故障转移功能的STOMP库。比如说,如果一个STOMP应用在使用事务等功能,那么在STOMP库中保持状态并在故障转移后将事务重新发送到新的代理服务器就会变得相当困难。
所以,大多数库(甚至是stomp.py)在第一次连接到代理服务器时才提供故障转移的支持。之后,应用程序就得自己处理故障转移的问题。
我在自己的应用中成功实现了这个功能,满足了我们的需求。