我們正在使用RabbitMQ向Apache Camel發送消息。當系統以錯誤的順序啓動時,不會持續顯示消息
我們有一個「發件人」和一個處理由發件人發送的RabbitMQ消息的駱駝路線。
我們正在部署有關係統的哪一端首先出現的問題。
我們的系統體積小。我一次發送100封郵件。消息的要點是減少主數據庫中發生的事情與將數據記錄到不同數據庫之間的「時間凝聚力」。我們不希望我們的前端需要等待。
「發件人」將創建一個交易所,如果它不存在。
該問題導致部署問題。
這是我看到:
如果我下來發件人,跌幅駱駝,刪除交換(洗涮),啓動發送者,然後開始駱駝,併發送100條短信,該系統的工作原理。 (我認爲是因爲發送者必須手動運行以進行測試,所以Exchange正在由駱駝路由創建...)
如果我清理slate併發送消息,然後再向上爬駱駝,我可以看到消息登陸RabbitMQ(使用網絡工具)。沒有隊列綁定。一旦我開始駱駝,我可以看到它綁定到Exchange的綁定隊列。但這些信息已經失去了時間和命運;他們顯然已經被拋棄了。
如果從目前的狀態,我發送更多的消息,他們正常流動。
我認爲,如果被丟棄的消息被持續存在,我會沒事的。我錯過了什麼?
你爲什麼要刪除交換?交換,隊列和消息是否持久? – cantSleepNow
@cantSleepNow刪除交換確實是一個壞主意。我們正在手動嘗試讓消息流動。在正常情況下我們不會那樣做。 –
一般來說,如果您遇到流程問題,通常意味着隊列被「淹沒」 - 即代理商無法跟上發佈商的步伐,因此它會限制郵件「發送」的速度(發佈商 - >代理) 。你可以增加消費者的數量,並最終排隊。 https://www.rabbitmq.com/blog/2014/04/14/finding-bottlenecks-with-rabbitmq-3-3/ – cantSleepNow