理论上我知道模式pub / sub,现在我想在实践中实现它。
我有一个Web应用程序(订阅者),其中包含正在侦听名为“news”的频道的服务。此频道由其他应用程序(发布者)列表填充。
所以,我想知道,如何通过实时通知已登录用户收到的新闻。 (比如twitter“new twitts”确实如此)。
我的想法:
在我的消费者服务中,我可以将收到的新闻存储在列表中,例如:
@Consumer("myChannel")
public void recNews(New new) {
allNews.add(new);
}
然后,在我的应用程序中配置一个计时器来读取和重置该List并将当前状态(lastNews)发送到我的web控制器:
@Timer("1 per minute")
public void lastNews() {
lastNews.add(allNews);
allNews = new ArrayList();
}
我是对的吗?或者有更好的解决方案吗?
答案 0 :(得分:1)
我不会想要构建自定义解决方案,而是关注SignalR(https://github.com/SignalR/SignalR/wiki)。它为您处理许多管道和基础设施问题,是Web应用程序的理想选择。
答案 1 :(得分:0)