复杂业务定时器算法经验
在定时算法中尽量采用一个定时器,轮询不同的定时需求。
例子:
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。各家商户的订单,需要设置不同的订单超时时间。
一般做法是每个订单都生成一个相应超时时间的定时器,定时器到了后自动超时。但是同时多个定时器,这样会造成内存占用太多。
建议:
只生成一个定时器(以秒为单位),可以将多个商户的订单分成不同的队列,设置队列id和队列超时时间,定时器去轮询所有的队列,如果订单生成时间加上超时时间超过当前时间即为超时。

更多精彩