azure - 在 Azure 上使用 Redis PubSub 作为通知引擎

标签 azure redis publish-subscribe

我们正在构建一个应用程序,物联网设备(温度传感器)会将数据推送到 Azure 物联网中心。

并且会有一个 webjob 将读取这些数据并将其推送到数据库中(在将其与原始数据一起汇总之后)。 我们还需要 Web 应用程序的一个功能,用户可以在其中订阅任何房间/区域,我们需要将当前温度推送到他的屏幕(每当它发生变化时)。只有当用户在该屏幕上时才需要这样做。

我们计划为此任务使用 redis 发布/订阅。 Webjob 可以将此数据发布到 redis pub/sub(连同 db)。 webApplication 将订阅 Redis PubSub(仅适用于使用 signalR 订阅 web 服务器的用户)。

对这个设计有什么想法吗?在这种情况下,Redis PubSub 是一个不错的选择吗?

最佳答案

通常我更喜欢使用消息队列,例如RabbitMQ做这样的工作。

Redis 确实支持发布/订阅,并使它变得简单和快速。如果您只需要发布/订阅,这是一个不错的选择。

另一方面,RabbitMq 有更多的优势,而且对我来说它很容易调试。

此外,您需要更多地考虑高可用性/持久性。对于redis,你可能需要自己实现,但是对于消息队列,他们可能已经有解决方案了。

关于azure - 在 Azure 上使用 Redis PubSub 作为通知引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46722829/

相关文章:

azure - 使用 C# 获取 Azure 服务器列表

azure - 如何为多个 Http 请求(例如 POST、GET 等)创建单个逻辑应用程序

azure - AD B2C - 如何在密码重置流程中设置自定义电子邮件验证

redis - redis 集群中的哈希槽是什么意思?

spring - pubsub 中订阅者的重试设置是什么以及如何在 spring 应用程序中正确设置它们?

javascript - 从内存中 Meteor 的 Minimongo 中删除已传递的消息

azure - Outlook API 错误指定的 OData 类型无效 : Microsoft. OutlookServices.FileAttachment

java - Netty有Redis库吗?

redis - 如何在 Apache ActiveMQ 中只获取组中的最后一条消息?

scala - 发布/订阅中的 Redis 插件阻塞