解决方案构想
本文是一种解决方案构想。 如果你希望我们在内容中扩充更多信息,例如潜在用例、备用服务、实现注意事项或定价指南,请通过提供 GitHub 反馈来告知我们。
此解决方案使用 Azure Cache for Redis 在发布和订阅系统中路由实时消息。 它还纵向扩展 Azure SignalR 服务等 Web 通信框架。
体系结构
下载此体系结构的 Visio 文件。
数据流
- 发布者将消息发送到 Azure Cache for Redis。
- Azure Cache for Redis 存储这些消息并负责传递给订阅者。
- 订阅者从 Azure Cache for Redis 拉取他们订阅的消息。
组件
- Azure Cache for Redis 是一种完全托管的内存中缓存,可实现高性能和可缩放的体系结构。 可用于创建云或混合部署,以亚毫秒级延迟每秒处理数百万个请求,所有这些部署都具有托管服务的配置、安全性和可用性优势。 尽管 Azure Cache for Redis 通常用作数据缓存来提高应用程序性能,但你也可将其用作消息中转站。
- Azure 应用服务是一项基于 HTTP 的服务,用于托管 Web 应用程序、REST API 和移动后端 。 通过应用服务,可使用 .NET、Java、Ruby、Node.js、PHP 或 Python 等偏好的语言进行开发。 在基于 Windows 和 Linux 的环境中,应用程序都可以轻松地运行和缩放。
- Azure SignalR 服务是一种开源软件库,它提供了一种向 Web 应用实时发送通知的方法。
方案详细信息
此方案演示如何使用 Azure Cache for Redis 作为消息代理来实现发布/订阅异步消息传送功能。 它非常适合路由实时消息。 还可使用此解决方案来纵向扩展 Web 通信框架。 例如,对于部署在单独的 Internet Information Services (IIS) 实例上的 SignalR 应用程序,可使用此解决方案在其中分发消息。
可能的用例
此解决方案适用于使用发布和订阅系统的场景,包括:
- 连接公司内部业务功能的微服务的中间件。
- 应用程序日志的收集和分发系统。
- 座位预订系统。
后续步骤
- 关于用于 Redis 的 Azure 缓存
- 应用服务概述
- 什么是 Azure SignalR 服务?
- 在 Azure Cache for Redis 中实现发布/订阅和流
- 使用 Redis 横向扩展 SignalR