RT,业务场景需要,从channel读出数据后,如果处理失败,需要把数据再丢入channel,再处理。但是因为数据有一定的顺序(不能把失败的数据写到channel的尾部),所以我再把失败的数据丢入channel准备重试的时候,需要丢到channel的头部,然后再读出来进行重试
用2 个channel组合出来一个你的要求就好了
一个是优先被读取,常态是空的;一个是被正常的读取。
如果处理失败的化插入第一个就可以了。
#1
更多评论
可是 你确定重试就会成功了?要是一直失败了 是不是就阻塞了? 阻塞了 内存是不是会暴涨? 。cpu会不会都浪费在重试上了,导致正常的请求没有时间处理?。。。
所以你这个前提就有问题?
#2