在mysql数据库中存储socket.io open sockets的ID

a1o7rhls  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(222)

**问题:

对于一个社交媒体应用程序(想想facebook),有必要有一个实时通知系统,因为我遇到了很多选择,包括facebook本身如何处理它;这是通过使用旧的长投票黑客。我想改为使用socket.io,但我在internet上发现的简单实现涉及到向所有用户或其中的用户广播的系统(例如:一些聊天室);

**建议解决方案:

对于我的案子,我想用以下方式来处理:
用户连接到应用程序,建立一个新的socket/连接,并且相关的socket id存储在mysql(user\u id,socket\u id)“open\u sockets”表中。
当一个用户-(比如:喜欢一个post)时,它会自动在mysql(post\u id,user\u id)“subscriptions”表中将他注册为订户。
现在,当其他人回复或喜欢这篇文章时,我从前面提到的'subscriptions'表中查询所有订阅者的id,然后从'open\u sockets'表中查询他们的相对socket\u id。
我用检索到的套接字ID向客户端广播。
这个系统可能会变得复杂(在性质和需求上),它涉及到与数据库通信以检索正确的套接字ID。

**问题:

你觉得这个解决方案怎么样?
处理这种情况的最佳方法是什么(例如:在类似facebook的平台上)?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题