目前主项目是laravel开发,其中有个功能是根据用户配置的http地址,将系统的数据收集以后发送过去,目前采用redis队列+guzzle/http的方式进行发送。由于php-cli消费队列时需要开多个消费进程,比较抢占主项目fpm的内存,所以想进行优化,优化方案:
1.业务上将多条数据合并,做一次发送给第三方
2.使用workerman5.0提供的异步http客户端进行发送,具体的流程是主项目在laravel队列中将数据组装好以后,发送给webman监听的某个端口上,由webman进行http异步发送,或者webman也启用redis队列,在队列中使用http异步发送。
上面的第二步有些拿不准,不知道是否有开发价值,和现有的laravel队列直接guzzle/http发送相比提升是否很大?
这是以前的对比,同步的情况下协程http客户端是有提升,但是如果在redis队列中是否使用协程http还有价值?
https://www.workerman.net/q/10702
都是异步的就差不多
等以后数据库协程化了 就牛了