需要一个通知/仪表板系统的框架?

Sha*_* D. 14 java notifications dashboard

我被要求在Cloud Java应用程序中实现通知系统.前提是应用程序的管理员或组件可以向特定用户发送特定消息,或向所有用户发送广播通知.

通知将按严重性,类型(中断,新服务等)和相应组件进行分类.

用户可以选择他们感兴趣的类型和组件,以及他们希望如何接收这些通知(通过电子邮件,只显示在仪表板上,短信等).用户可以确认或删除通知,因此他们不会再显示该用户.

虽然我确信从头开始实现这将是有趣的,但感觉应该有一个现有的系统,Apache项目,商业项目等,这样做,并避免我不得不重新发明轮子.

我的问题是:任何人都可以推荐一个可以集成到现有应用程序中并自动处理所有后端内容的通知跟踪框架吗?商业或开源是好的,只要许可条款是商业友好的(请不要使用GPL或LGPL).

Sub*_*has 15

我猜你正在寻找的东西类似于亚马逊简单通知服务(SNS).但首先让我们说明一些事情:

  • 您正在尝试发送电子邮件/短信 - 并且都需要基础设施,而不仅仅是框架/库.我猜你的客户端(或任何客户端)会在某处运行电子邮件服务器,因此不会对直接的成本产生影响.但发送短信确实会产生基础设施开销.
  • 你不会有一个开箱即用的解决方案.由于您将拥有其他基础架构,因此您最终将至少与此基础架构进行良好的集成.

牢记这一切,以下是按难度顺序列出的选项:

  • 使用Amazon SNS
  • 使用云消息总线(CMB) - Amazon SNS的开源克隆.它具有与Amazon SNS相同的API格式,因此您将以与使用Amazon SNS相同的方式使用它
  • 使用Apache Camel及其各种电子邮件/ SMS组件.Apache Camel是一个企业路由框架.它有一个消息队列,开发人员可以将消息推送到其中,然后它有各种路由器接收这些消息并将它们发送到其他地方.它具有用于发送电子邮件/SMS开箱即用的路由器.您首先要创建一个发布消息的主题.然后,当用户注册电子邮件通知时,您将为他/她添加电子邮件端点.当他们选择退出电子邮件时,您将删除该端点.基本上它非常接近于设计您自己的解决方案 - 除了您不必编写用于发送SMS/Email的代码之外,它还具有开箱即用的组件,您只需编写集成代码即可添加这些用户订阅通知时的端点.
  • 滚动你自己.您的解决方案最终将与Apache Camel方法非常相似.您将拥有一个消息队列,您将拥有主题和侦听器.除非您编写自己的代码来发送所有电子邮件/短信.

编辑:轻微澄清