假设我们在 ASP.NET 中有主代码库,在 MSSQL 中有主数据库
我们想添加一些实时功能 - 有一个事件源,每个事件都与某个用户相关。用户具有一对多的关系(友谊)。与特定用户相关的每个事件都应该发布给她的每个朋友(正在收听)。
Redis 和 Node.js+Socket.IO 被认为是(可能是最强大和最适合的)解决方案。因此,当事件发生时,ASP.NET 将发布到 Redis,Node.js 将订阅并通过 Socket.IO 转发到浏览器。
现在的问题 - 过滤逻辑应该在什么时候发生以仅将事件发送给用户的朋友?
我们可以将这些数据存储在内存中的 Node.js 中,但它有效吗?我们可以定期将关系数据导出到 Redis,但是可以通过 Redis 端的一些脚本将其与 Pub/Sub 一起使用吗?