2016-05-31 75 views
1

對於Spring XD 1.3.1,使用Rabbit MQ傳輸,分佈式。可以在單個Spring XD流上定義多個水龍頭

尋求澄清Spring XD如何爲度量標準工作。 我需要知道是否可以多次點擊一個流,以便通過主流的每條消息都將發送到每個活動的定義的水龍頭。

該場景是一個帶有兔子源的流,它在傳送到接收器(如mongo)之前已經過處理。這個流被挖掘到另一個接收器。我們還希望在此流上創建多個度量標準,包括聚合計數器和幾個字段值計數器,這些計數器將根據源消息中的不同字段(JSON上的這些操作系統)按類型保留總消息和消息的度量標準。

關於每個水龍頭是否獲取消息的副本,文檔不清楚。

在測試中,第一個抽頭獲取所有消息,但沒有任何字段值或聚合計數器似乎獲取數據。

回答

1

是的,一個流可以有多個水龍頭。這是一個example。在內部,XD使用消息總線到bind to a pub-sub resource(依賴於傳輸)。例如,使用Rabbit MQ傳輸,扇出交換對於流中的每個潛在分接點是created。將隊列綁定到該交換是懶惰地執行的,即,當創建了抽頭流時。您應該可以在Rabbit管理控制檯中看到每次點擊的相應交換和隊列綁定。

我不確定你爲什麼沒有看到所有的水龍頭消息。請記住,應始終部署分流(在創建目標流後,但在部署目標流之前),分流前部署的流中的任何數據都不會被分流器消耗。