wuqinqiang 2019-06-10 21:44:54 754次浏览 4条回复 0 0 0

最近利用业余时间基于 swoole 写了一个聊天室,主要是 swoole+yii+vue+redis+mysql,单机服务,中间过渡了一层 redis,用 Coroutine 压测了一下作为最低配来说,效果还行。 目前来说实现了单聊群聊大文件上传,测试地址:聊天室demo,测试账号wuqinqiang,test1,test2,test3,test4都可,密码123456,如果有明显的bug请指教,如果需要源码,整理一下可以发一份。放张图压压惊 屏幕快照 2019-06-10 下午9.38.34.png

另外,我觉得真正的难点在于分布式广播,因为现在是单机,如果用户量上来,水平扩展机器的话,对于这种长连接情况,咋么分配用户到对应的哪台机器?同一个群聊里的用户分配在不同时段机器上,咋么广播和互相通讯?那个时候可能对应一个模块就是一个服务,登录是一个服务,用户中心也是一个服务....好吧,没有这样的业务量,都是扯淡。

亿速云
  • 回复于 2019-06-11 20:42 举报

    轻量级 web chat room是不是应该考虑逆向广播? 即客户端按照一定频次访问接口获取最新消息。

    我没写过,所以提出来讨论下,

  • 回复于 2019-06-11 22:43 举报

    客户端按照一定频次访问接口获取最新消息,不就是前几年的轮询吗。H5的websocket提供了全双工的通讯服务

  • 回复于 2019-06-27 14:15 举报

    你试试将swoole换成emqtt ,emqtt做聊天做即时通讯也很不错,广播,单聊,信息保留上线后再发送等等

您需要登录后才可以回复。登录 | 立即注册