我正在评估一些消息传递库和协议(例如ZeroMQ,WAMP)。我的主要要求之一是从客户端向服务器发送消息,反之亦然(双向通信)对于客户端/服务器崩溃必须是绝对安全的。这对我意味着,例如客户端必须在自发重启后继续发送所有未传递的消息。因此库应该实现某种基于文件的缓冲。我有什么可以开箱即用的吗?
[编辑] 关于我的用例的一些注意事项: 在我的场景中,大约有1000个客户端与一个服务器通信。客户端无需直接客户通信。但我需要双向通信,因此两者都可以将一些数据推送到服务器,反之亦然。客户通过3G移动网络连接。客户端和服务器都是用C#编写的。我专注于使用ZeroMQ,Apache Thrift或WAMP。但其中一个主要要求是确保系统崩溃时的异步但安全的消息传递。因此,当客户端启动异步数据推送到服务器,并且在将消息传递到服务器之前它将崩溃,则需要客户端在重新启动后继续发送消息。