Apache Camel のデプロイメント
-
21-09-2019 - |
質問
Apache-Camel と ActiveMQ を使用してシステムを構築する一般的/推奨される方法は何ですか?高可用性はどのように実現できるのでしょうか?Camel はどのコンテナで実行する必要がありますか?
解決
任意のJavaアプリケーションは、直接ラクダを使用することができます。唯一の要件は、ラクダのjarファイルがクラスパスに存在しなければならないということです。だから、任意の容器は問題ないはずです。 キューからメッセージを取得するコンポーネントは、直接順番に処理を行うことができますラクダのコンテキストにメッセージをプッシュすることができます。 高可用性のためにActiveMQのクラスタリングを使用することができます。
他のヒント
我々は、ESBとしてモジュラーOSGiのアプローチとJBossヒューズを提供するコンテナとしてApache karafを使用することができます。 バンドルがインポートおよびエクスポートパッケージのための余分なメタデータを含むようにMavenバンドル・プラグインは、
瓶の代わりに展開するために使用することができます私の経験による答えは次のとおりです。
質問: Apache-Camel と ActiveMQ を使用してシステムを構築する一般的/推奨される方法は何ですか:
回答:使用しているテクノロジー スタックによって異なります。ant および maven ビルド ツールを使用してコンパイル/ビルドできます。
Apache Camel は ESB であり、主に Web サービス/JMS (パブリック-サブスクライブ モデル) を使用したシステム統合に使用されます。
質問: 高可用性はどのように実現できるのでしょうか?Camel はどのコンテナで実行する必要がありますか?
回答:Camel は、マルチスレッド、エグゼキューター サービス フレームワーク、同時コンシューマーの概念 (別名同時実行) をサポートしているため、これを構成して高可用性を実現できます。
スタンドアロン アプリケーション (Web ではない) を使用している場合は、jvm で実行でき、Web 開発の場合は、Tomcat、Jboss などのほとんどの Web 開発コンテナを実行できます。
Camel アプリケーションには Apache Karaf を試してみることをお勧めします。
- pom.xml と feature.xml を定義します。
- それをインストールして、Karaf で実行します。
また、Hawtio を確認すると、ルートの監視、ログ、視覚的なプレゼンテーションが提供されます。
高可用性が必要な場合は、Karaf Celar を確認してください。に関するドキュメントがあります https://karaf.apache.org/documentation.html