作为将我们的应用程序从巨大的单体转变为麦克风的一部分,我们正在开发一个通知微服务,它可以被所有其他模块用来发送通知,比如电子邮件、短信、推送通知等等。
此通知服务的一个客户端是我们计划开发的windows服务,它为用户注册、密码重置等各种事件触发电子邮件通知。windows服务将包含两个部分。
我们最初的计划是使用队列在这两个部分之间进行通信。水流会是这样的
Client -> ReST API ->加载模板和填充值-> Call notification ->将消息添加到队列中(如果通知失败)->后台任务提取队列的消息-->重试操作-->将通知标记为失败,以防最大重试失败(将手动处理)。
与使用队列不同,另一种方法是使用持久的AKKA.NET参与者来执行此操作,因为AKKA.NET支持邮箱,但没有找到任何类似的用例.如果我们选择akka.net,我们在正确的道路上.请发送您的评论
发布于 2016-12-28 12:48:34
我认为队列是对此的适当抽象--将一些消息发布到队列并让通知服务使用它们。如果通知服务已关闭,则它们将一直停留在队列中,直到它恢复为止。像Kafka这样的东西可能很适合这一点,但是您可能可以在当前使用的任何数据库中实现一些东西。除非你对事情有更复杂的逻辑,否则我可能不会沿着演员路线走下去。
https://stackoverflow.com/questions/41349135
复制相似问题