使用Redis PubSub作为Azure上的通知引擎

使用Redis PubSub作为Azure上的通知引擎

问题描述:

我们正在构建一个应用程序,其中物联网设备(温度传感器)将数据推送到Azure IoT Hub。使用Redis PubSub作为Azure上的通知引擎

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

我们正计划为此任务提供redis pub/sub。 012jWebjob可以将此数据发布到redis pub/sub(以及db)。 webApplication将订阅Redis PubSub(仅适用于使用signalR订阅Web服务器的用户)。

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

通常我比较喜欢用消息队列如RabbitMQ来做这样的工作。

Redis支持pub/sub,并使其每一个操作都简单快捷。如果你只需要pub/sub,这是一个不错的选择。

另一方面,RabbitMq拥有更多的羽毛,对我来说很容易调试。

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

+0

我们不需要任何形式的持久性或其他功能。我们只需要PUBSUB。此外,Azure还将Redis作为PaaS产品提供。 – Pragmatic