开局的技术难点
我之前是怎么处理的?
我是用的长轮询,请求到了后台之后 调用异步服务的时候,给异步服务一个唯一id,异步服务完事后会把执行结果和唯一id放到redis, 这个请求一直自旋(有timeout的)去redis里查询看是否有有回调 如果有的话就响应给调用方
这中方法的缺点即使timeout的时间不好确定 当然用长连接是更好的了,长连接会带来项目的复杂性
Guarded Suspension
但是集群下这种模式就失效了 现在谁还玩单机啊
思考提
解答
sleep无法被唤醒
如果mq挂了 一直循环,需要timeout