业务描述
- 有很多 client 与服务器 socket 通信
- 有一个 redis 队列存了特定 client 需要的信息
- client 发送请求连接给服务器,服务器在 redis 中找到这个 client 需要的信息(如果没有一直等待),找到后返回给这个 client,结束.
我原本的想法
- 服务器是 socketserver 多线程,当有个 client 来的时候,就循环在 redis 中找,一直到找到后再发送给 client
弊端
- 我想了下,如果我有 10000 个 client,会出现两个问题:
-
- 10000 个 client 一直与我的服务器连接中(会不会服务器不支持这个多的连接同时存在)
-
- 10000 个 client 每一个都要循环去 redis 中找数据 相同的操作重复了 10000 次,好蠢
-
- 其实只要有一个循环一直查 redis,查到参数,就发给 client 与服务器连接的那个 socket 就可以(不知道如果实现这一步的想法)
希望大佬能指点一二呀= =,