JMS是解耦系統一個非常有用的工具。然而,架構和膨脹之間的細線總是跨越。作爲一個理論上了解經紀人,但沒有實踐經驗的人,我可以給予什麼建議以避免「膨脹」。應該注意哪些性能因素,設計考慮因素和系統特徵,以便經紀人不會被誤用。例如使用經紀人推動事件到日誌服務似乎是一個矯枉過正的事情(我的一個朋友實際上幾乎暗示了這一點)。另一個例子 - 創建審計服務(審計多個後端系統)時,(異步)消息傳遞是一個很好的解決方案。優點和缺點?何時發送消息(基於JMS的代理/隊列)過度消耗?根據經紀人
2
A
回答
2
它的規模的所有問題。
只要你有一些服務項目,都在同一機器上運行,或者也許幾箱,但所有通信只是一個數據庫,然後消息並不能解決任何實際問題,只會增加複雜性。
一旦你有很多的服務,在多個服務器上(也可能是多個數據中心)運行,這種需要(只是一個數據庫,而不是),相互溝通,信息成爲必要。
另一種情況是,當你的服務有不同的發佈時間表,尤其是當有許多和他們由不同的團隊開發的。它達到了釋放同步的程度,以確保兼容性並將停機時間降至最低。異步消息傳遞是解決方案的一部分。
最後,推異步事件的日誌記錄服務有一定道理,因爲上述條件。如果您使用某些公司範圍的日誌記錄服務在多臺服務器上運行多個服務,則日誌隊列非常合理。
相關問題
- 1. 基於定義時間的JMS消息調度/消耗
- 2. 發送XML消息給SONIC JMS隊列
- 3. JMS消息生產者不會將消息發送到隊列
- 4. 發送JMS消息導致通過JMS主題發送消息時警告
- 5. JMS/Glassfish - 不消耗隊列消息的MDB
- 6. JMS隊列接收消息?
- 7. 如何將消息從ESB的主題發送到消息代理的隊列
- 8. 如何檢查發送到JMS隊列的消息不成功?
- 9. 在JMS隊列上發佈消息?
- 10. Apache Artemis經紀人不發送消息給SwiftMQ AMQP客戶端
- 11. WSO2 ESB可以在JMS代理之間發送JMS消息嗎?
- 12. 我KafkaSpout不消耗從卡夫卡經紀人的消息在HDP
- 13. 向隊列發送消息時出錯
- 14. JMS - 發送對象消息
- 15. 發送消息給JMS(Weblogic)
- 16. 發送多條消息到Mule的JMS隊列
- 17. 將消息發送到完整的JMS隊列
- 18. Java:將消息發送到多線程的JMS隊列
- 19. 無法從web服務發送jms隊列中的消息
- 20. Oracle:Java存儲過程發送JMS消息
- 21. 無法發送消息到Solace JMS隊列
- 22. 在發送JMS隊列之前提交消息
- 23. Java在外部JMS服務器/隊列上發送消息
- 24. 從駱駝路由發送消息到Weblogic JMS隊列
- 25. Tibco ActiveMatrix BusinessWorks JMS隊列發送器,帶消息類型對象
- 26. 使用java Swing發送消息給JMS隊列
- 27. IPC消息隊列如何發送對
- 28. 根據消息屬性臨時禁用JMS消息的傳遞
- 29. 關於消息/消息隊列的經驗法則
- 30. Mule請求 - 回覆消耗JMS回覆隊列中的所有消息
Splunk解決方案正是圍繞這個(日誌記錄)問題構建的 – jasonk