摘要:如果消息隊列必須用數(shù)據(jù)庫表來實現(xiàn),那么就要注意表當中一定要有流水號字段,類型最好是數(shù)字,排序方便插入記錄時,流水號必須是唯一且遞增的。每次輪詢?nèi)〉较⒑?,取最后一條記錄的流水號,從表中刪除所有小于等于該流水號的記錄。
如果消息隊列必須用數(shù)據(jù)庫表來實現(xiàn),那么就要注意:
表當中一定要有流水號字段,類型最好是數(shù)字,排序方便;
插入記錄時,流水號必須是唯一且遞增的。
取記錄的方式是定時輪詢。不要一次把所有記錄取出來,而是按流水號排序,取前若干條記錄。輪詢?nèi)∮涗浀乃俣纫欢ㄒ^生成記錄的平均速度,否則消息永遠都處理不完了。
所以為了留出一定的余地,不要在輪詢線程中去處理消息,而是在輪詢線程中將取到的消息丟給另外的線程池去處理。
每次輪詢?nèi)〉较⒑螅∽詈笠粭l記錄的流水號,從表中刪除所有小于等于該流水號的記錄。
輪詢必須只有一個線程來做。多個線程/進程同時去查,可能會查出重復的記錄。
所以為什么說最好還是要用消息隊列,因為消息隊列可以任意多個消費者去取。
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://systransis.cn/yun/17589.html
摘要:隊列是遵行先進先出原則的一組有序的項。優(yōu)先隊列是默認隊列的變種,它的元素的添加和移除是基于優(yōu)先級的。如此循環(huán),直至隊列的長度等于,返回勝者行。同時,還掌握了很著名的優(yōu)先隊列循環(huán)隊列這兩種結構。 《學習JavaScript數(shù)據(jù)結構與算法》讀書筆記。 隊列是遵行FIFO(First In First Out, 先進先出)原則的一組有序的項。隊列再尾部添加新元素,并從頂部移除元素。 在現(xiàn)實中...
閱讀 2083·2021-09-22 15:54
閱讀 1844·2021-09-04 16:40
閱讀 869·2019-08-30 15:56
閱讀 2632·2019-08-30 15:44
閱讀 2159·2019-08-30 13:52
閱讀 1132·2019-08-29 16:35
閱讀 3352·2019-08-29 16:31
閱讀 2571·2019-08-29 13:48