1
solaro OP 目前用的 laravel
有没有大佬碰到过这种场景。API-1 和 API-2 网件延迟在 500ms 左右 |
2
solaro OP 有没有其他方案可以解决的。或者 websocket 内存常驻????
|
3
ooh 2020-07-24 01:27:55 +08:00
扔队列里面异步处理成功回调通过长连接通知客户端
还不如 api1 请求成功后,客户端定时查询处理结果,500ms 也转不了几下 |
4
kaiki 2020-07-24 01:43:24 +08:00 1
想想扫码登录是怎么处理的呗,隔一段时间请求一下,直到有返回
|
5
KasuganoSoras 2020-07-24 06:20:48 +08:00 1
给你个思路:
客户端 -> WebSocket -> Swoole 服务端,然后 Swoole 再把用户请求转发给 API,并且转发的时候为这个请求打上一个 Tag,例如加个 Header,用于标注是哪一个 WebSocket 客户端发来的请求。API 处理完以后把消息返回给 Swoole,并且记得附带上刚刚请求来的 Tag,然后 Swoole 根据 Tag 寻找对应的 WebSocket 客户端,再把消息推回去。 |
6
jugelizi 2020-07-24 07:03:22 +08:00 via iPhone
典型的长轮询呀
|
7
rming 2020-07-24 07:44:42 +08:00 via iPhone
不在乎 rps 的话,把队列改成同步执行
|
8
LinsVert 2020-07-24 11:25:15 +08:00
前端轮询就行了 同 4L 的扫码登陆;或者就同步执行,laravel 的话 就是 dispatchNow
|
12
solaro OP @KasuganoSoras 好像你的方案更靠譜些呢,我試試哈,謝謝
|