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