使用Rebus进行推送通知

时间:2016-04-12 06:24:33

标签: rebus

在我们的系统中,我们有一个或多个每个用户运行的前端实例。它们托管在许多Citrix服务器上。

我们希望在发生某些事情时通知用户,并确保邮件到达每个前端。我们如何做到这一点?

最初的虽然是使用发布/订阅,但是我们不需要每个前端有一个队列吗?

或者,您可以以某种方式传递消息,确保前端的每个处理程序实例都获得消息吗?

1 个答案:

答案 0 :(得分:1)

如果您想使用Rebus将消息实际发送到前端,那么每个客户端实例需要一个输入队列是完全正确的。

我通常建议不要使用Rebus直接与客户沟通,因为这对于更“稳定”的事情来说非常方便。

事情是:客户来去 - 这就是“客户”的本质。像Rebus这样的消息传递库(例如NServiceBus,MassTransit等)通常在端点数量不会波动太多时效果最好。

您仍然可以使用Rebus在服务器上进行协调,作为以可靠方式实现异步事物的有用工具,但我建议您使用类似SignalR之类的内容来推送持续不断的通知从服务器到客户端。

事实上,SignalR正是你所需要的,它为你提供了一个模型,让你可以保留任意一组你可以推送信息的客户端。