Go:带有websocket和redis的多房间聊天应用程序

问题描述 投票:0回答:1

我想创建一个包含多个房间的聊天应用程序。我有带有表的Postgres数据库:用户,聊天,chat_users,朋友,friend_requests,chat_invites,消息。为了实时通知用户,我使用了存储在map中的websocket,每个websocket都有自己的ID(始终是用户的ID)。为了通知一组客户,我将连接ID​​存储在Redis集中,每次我需要将event发送到会议室时,我都会通过[] int64中的smembers获取成员,然后通过数组将其发送给每个迭代的成员。这是个好方法吗?

go websocket redis real-time
1个回答
0
投票

老实说,您的方法似乎有些过分设计。

我将从创建最简单可行的方法开始-不使用Postgres或Redis。服务器可以将其数据保存在某些受并发锁保护的地图/结构中。无论如何,客户不需要这些。

一旦有了基本的工作,就可以开始考虑更多涉及的体系结构来满足特定需求。

这将帮助您将问题分为较小的和更易于管理的块。

© www.soinside.com 2019 - 2024. All rights reserved.