Pub/Sub如何通知用户登录订户应用程序?
问题描述:
我知道理论上的pub/sub模式,现在我想在实践中实现它。Pub/Sub如何通知用户登录订户应用程序?
我有一个web应用程序(订阅者),其中包含一个正在监听名为“news”的频道的服务。此频道由其他应用程序(发布者)列表填充。
所以,我想知道,如何通知记录的用户实时收到的消息。 (像Twitter“新twitts”)。
我想什么:
在我的消费服务我可以存储的消息在列表收到类似:
@Consumer("myChannel")
public void recNews(New new) {
allNews.add(new);
}
然后,配置在我的应用程序定时器来读取和重置列表和发送当前状态(lastNews)到我的网络控制器:
@Timer("1 per minute")
public void lastNews() {
lastNews.add(allNews);
allNews = new ArrayList();
}
我说得对不对?还是有更好的解决方案?
答
而不是寻求建立一个自定义的解决方案,我会看看SignalR(https://github.com/SignalR/SignalR/wiki)。它为您处理了许多管道和基础设施问题,是Web应用程序的理想选择。