我正在开发一个完全由消息驱动的小型分布式系统。现在,我通常每次必须发送一些东西时打开一个套接字,然后立即关闭它。状态仅在服务器端维护(例如,如果 5 分钟内没有消息从客户端到达,则认为它已死)。
但是,我还必须在客户端上对消息进行一些低级调度(如果状态消息无法到达服务器,请重试,如果仍然失败,则假设服务器已关闭,切换到不同的服务器等),以及因为必须手动监听客户端和服务器(加上交换如何从服务器到达客户端的信息)。我还计划添加某种广播系统,但这开始堆积起来......所以问题是,是否有一些现有的 .NET 总线/消息系统可以与 Mono 和 Microsoft 一起使用,它处理这个消息东西?我查看了 NServiceBus,但它依赖于 MSMQ(仍然如此?),Mono 或多或少地支持它;总而言之,NServiceBus 看起来已经有点过于重量级了。理想情况下,系统将支持 1:1 和 1:N 连接,稳健地处理错误并报告错误,