我寫的IIB流是除其他事項外產生事件消息(監視功能)。爲了能夠處理所有這些事件,我需要做一個持久訂閱。但是,如果我這樣做了,並且如果消費應用程序因某種原因不能恢復在線,質量管理可能會填滿並最終停止。 有什麼辦法可以避免這種情況?任何方式來創建一個管理的持久訂閱與「強制消息到期」?WebSphere MQ和IIB:活動可能填補隊列管理器
回答
這原來是一個相當常見的情況,但一個可以是具有挑戰性的。的許多方法可能的,這裏有一些常見的:
使用循環隊列
「循環隊列」是不是IBM的官方用語,但是這是我在我的文章Mission:Messaging: Easing administration and debugging with circular queues杜撰。循環隊列使用SupportPac MA01(now on GitHub!)中的Q程序和MQ的本地檢測來保持隊列調整爲MAXDEPTH
的80%。這是2011年發佈的,根據我收到的反饋,我猜想至少有100家商店成功地使用了這種自動化。
使用MQ v8.0.0.4
作爲MQ V8.0修訂包4,IBM還介紹了隊列和主題的CAPEXPIRY
屬性。 (見:Enforcing lower expiration times)只需設置它,並忘記它。
自動化隊列清理
使用Q或QLoad程序來搜索比規定時間早消息,並刪除它們。這個安排使用您喜歡的作業調度程序,或使用MQ儀器尋找的東西,如隊列填滿或很長的隊列服務間隔
不要這樣做
持久訂閱是事情是應該到永遠在場或至少可靠地回來。在這些情況下,提供部署訂購併刪除退役流程的隊列部分。如果由於訂戶是臨時的而不存在停用過程,則不要使用持久訂閱。我知道,說起來容易做起來難。
注
我不能肯定這個,因爲我不再像MQ產品團隊的一部分工作,但我懷疑新CAPEXPIRY
功能是提供解決這一問題。當IBM引入MQ MFT(以前稱爲FTE的產品)時,Explorer模塊使用永久性動態訂閱來收集文件傳輸作業狀態。然而,很多情況下,我的資源管理器實例忘記了訂閱,人們改變了計算機或工作,或導致放棄訂閱的一千種其他原因。
這不是用於MFT組要求的易溶問題。有利於用戶體驗或有利於高效的系統使用,但不是兩者兼顧現在我們有CAPEXPIRY
這些訂閱隊列最終會自行清空。我很快就會預測排隊的排隊隊列將會在哪裏排隊,這樣我們就不會有數十億人被遺棄的空蕩蕩的隊列。
不要讓一個持久訂閱如果有機會,消費應用程序可能永遠不會重新連接。
- 1. spring DefaultMessageListenerContainer和websphere MQ - 無法連接隊列管理器
- 2. 如何跟蹤隊列管理器和對象在WebSphere MQ
- 3. 在Websphere MQ中創建新的隊列管理器和隊列(使用C#)
- 4. 如何ping IBM WebSphere MQ隊列管理器?
- 5. 無法連接到WebSphere MQ 7.1中的隊列管理器
- 6. V7上的Websphere MQ錯誤隊列管理器
- 7. 爲什麼MQ Websphere隊列管理器開始監聽TCP6
- 8. 無法連接Websphere MQ隊列管理器
- 9. 如何枚舉IBM WebSphere MQ的隊列管理器的本地隊列?
- 10. IBM Websphere:隊列管理器處理
- 11. 的IBM WebSphere MQ:未能隊列管理器和隊列與2009年的錯誤代碼
- 12. Websphere MQ遠程隊列性能跟蹤
- 13. 可以創建Websphere隊列管理器但不能連接
- 14. IBM MQ資源管理器 - 創建隊列管理
- 15. WebSphere MQ和MMX:無法用隊列
- 16. WebSphere MQ資源管理和AMQ8077錯誤
- 17. MQ:2隊列管理器下的相同隊列名稱
- 18. 什麼是結束websphere MQ隊列管理器的最佳實踐?
- 19. Websphere MQ-如何查找通過隊列管理器傳遞的消息總數
- 20. 如何連接WebSphere MQ 7.0的隊列管理器分佈式發佈/訂閱
- 21. 無法爲IBM MQ創建隊列管理器7
- 22. MQ控制檯 - 隊列管理器不可用,儘管它處於活動狀態
- 23. IBM MQ/WebSphere MQ:從.NET管理服務器?
- 24. 保存和恢復隊列管理器
- 25. 孤兒SYSTEM.MANAGED.DURABLE。*隊列中的Websphere MQ
- 26. Websphere使用XMS.Net的MQ隊列深度
- 27. Websphere中的重命名隊列MQ
- 28. WebSphere MQ創建遠程隊列
- 29. 更新到WebSphere MQ隊列原子
- 30. 在WebSphere MQ中配置死信隊列
強迫到期是什麼意思?如果在消息上設置MQ,則MQ始終強制到期,只有在get讀取消息之前刪除消息纔會「延遲」。因此,如果您在事件消息中設置了過期時間,並確保應用程序以適當的頻率瀏覽目標隊列,則隊列將不會滿。 –