现在要求 a ,b 两个机子根据对方的成交与否,觉得另一方的下一步。
比如 a 成交了,b 就融券卖出,如果 a 没有成交,b 就卖出,诸如此类。
目前方法是 走 redis ,把 a ,b 的状态放到 redis ,同步双方的状态,
,
目前遇到的问题是 同步一次的需要 2-3 秒的时间,主要的耗时:
1. 获取 a 是否成交,这个通过循环获取订单状态,感觉这一步没法优化,因为读取状态需要时间,也是走网络,渠道券商柜台。
2. a 把状态放入 redis ,b 读取,这个一个流程里面大概会有 6 次 redis key 的读取,感觉这里的速度有点慢了。
试过判读 key 是否存在,还有 blpop 设置 0.5 秒超时,设置时间短了,如果 a 来不及获取到成交状态并推送到 redis ,
会误判没有成交,实际 a 端已经成交了。
感觉用 rabbitmq zeromq 这种消息队列会不会好一些?
或者有没有成熟的技术方案?
先谢过各位老师大佬