2015-04-15 54 views
1

我有一個小型項目,其中來自Twitter的推文被應用程序佔用,放入ActiveMQ的JMS隊列中,從另一個應用程序讀取以豐富每條推文,然後返回到ActiveMQ服務器上的另一個JMS隊列。目前,所有的路由都是在每個應用程序本身內定義的。所以從應用程序A定義從twitter到JMS隊列的路由,並且在應用B中定義從一個JMS隊列到另一個JMS隊列的路由。ActiveMQ和集成模式:在哪裏實現?

在我看來,這個架構似乎是錯誤的,因爲現在我無法更改任何路由而無需重新部署其中一個應用程序。

我要的是一個解決方案,我有一些(微)服務,如Twitter的適配器和富集,它們是相互獨立的。但是,我在哪裏放置路由信息呢?以某種方式進入ActiveMQ?有沒有辦法輕鬆配置路線?不知何故,這聽起來像一個ESB,不是嗎?

回答

1

我認爲你可以使用託管駱駝+嵌入式ActiveMQ的服務器整合各種應用程序的中央Java組件。這個中央組件可以讓您的微服務/集成商以及所有路線在應用程序之間傳輸數據。

駱駝提供了大量部件(VM,文件,JMS,RMI,web服務等),其可以作爲連接到應用A/B端點使用。關於Twitter feed,您可以將Twitter適配器/偵聽器放入此中央組件,以便它可以通過直接VM端點與Camel路由進行通信。

這使得集成更容易。所有路由都保留在中心位置,它將MQ服務器,微服務和應用程序分開。

enter image description here