複雜業務定時器算法經驗

在定時算法中儘可能採用一個定時器,輪詢不一樣的定時需求。算法

例子:隊列

各家商戶的訂單,須要設置不一樣的訂單超時時間。內存

通常作法是每一個訂單都生成一個相應超時時間的定時器,定時器到了後自動超時。可是同時多個定時器,這樣會形成內存佔用太多。定時器

建議:時間

只生成一個定時器(以秒爲單位),能夠將多個商戶的訂單分紅不一樣的隊列,設置隊列id和隊列超時時間,定時器去輪詢全部的隊列,若是訂單生成時間加上超時時間超過當前時間即爲超時。生成

相關文章
相關標籤/搜索