0
A
回答
0
您應該有一個等候名單表,它包含具有用戶號碼,帳號ID和時間請求的等候名單/保留請求。然後,當某本書被返回時 - 觸發一個程序,將釋放的書籍分配給最早的等待列表請求,並通知已提出此請求的訂閱者。
而不是觸發器您還可以安排每天/每天運行兩次的計劃作業,並檢查是否有任何已列入等候列表的書籍可供使用。如果可用,則將該書分配給具有該書最早的等待列表請求的訂閱者。
如果您的系統負載不重,則使用觸發器,否則使用預定作業並在非高峯時段使用觸發器。
1
Robert Hanmer's book Patterns for Fault Tolerant Software具有稱爲隊列資源(46)的圖案:
對於服務存儲請求不能被在隊列立即處理[...]。爲隊列提供有限長度以提高請求在到達線頭時仍然很重要的可能性。
當請求是計算機生成的並且必須按順序處理時,應使用先進先出(FIFO)隊列。當人們產生請求時,隊列應該使用後進先出(LIFO,又名堆棧)策略(如在FRESH WORK BEFORE STALE(55)中)來管理插入和移除。這將有助於人們獲得良好的服務。最後放在隊列中的請求會認爲他們收到了優秀的服務,並且在隊列中放置了最長請求的人可能已經放棄了。
在EQUITABLE RESOURCE ALLOCATION(45)的指導下分配資源應該能夠識別已經排隊的請求和那些新鮮且從未排隊的請求。
相關問題
- 1. 如何將批處理請求處理添加到Django項目?
- 2. 處理具有多個ajax請求的「大數據json請求」
- 3. 如何處理多個異步請求?
- 4. AWS Lambda如何處理多個請求?
- 5. Asp.NET如何處理多個請求
- 6. 如何處理多個Ajax請求
- 7. jetty如何處理多個請求
- 8. 如何處理多個異步請求?
- 9. Doctrine如何處理多個請求?
- 10. Node.js請求 - 處理多個POST請求
- 11. 處理多個Ajax請求
- 12. 多個請求處理servlet
- 13. 處理多個Ajax請求
- 14. 處理多個Ajax請求
- 15. 使用多個有限數量的線程處理項目列表
- 16. 我如何處理$ q的所有angular.js的多個http請求
- 17. 通量:如何處理多個異步請求
- 18. tsserver:錯誤處理請求(無項目)
- 19. 如何處理多個NServiceBus項目?
- 20. 當有兩個請求時處理有限的課程插槽
- 21. AsyncController處理一定數量的請求
- 22. Cassandra中的多個請求處理
- 23. 處理多個帖子請求的Servlet
- 24. RestKit:如何批量處理多個請求並在完成後得到響應?
- 25. 使用多個代理限制請求
- 26. OneNote API的請求數量有限
- 27. 如何限制請求數量? Django
- 28. Python:多處理和請求
- 29. 如何處理HTTP請求
- 30. SAML - 如何處理請求?
我認爲在發佈(更新書籍數量)書籍時需要同步。 – YoungHobbit