好友聊天功能如何实现

user image 发现 ----- 2023-07-13 20:12:42
公司项目需要增加这么一个社交的功能,网上搜了一下,基本都是 socket 的方式去实现。这种方案也比较好理解,tcp 长链之后进行消息收发。自己简单写了一下多种事件的处理,可以运行。
这里有几个问题
我是在全局变量里面保存了每一个 client ,根据 IP 来取,然后进行消息发送。用户量不大,应该不会出现数据量过大的内存问题。不过还是想问一下,有没有什么好的方案。以前写过一个类似的东西,是 socket 用多线程做事件并发处理的,现在改用 python 的 streams ,直接使用协程方法了,想问一下,这一块还需要搞协程池或者设置协程数量吗?我看文档上没写这个。socket 是单线程,可支持的并发量能有多大?虽然用不到高并发高可用,但是想了解一下,如果说用户量很大的情况下,单台服务器无法支撑的情况下,如何升级架构?

使用说明