JBoss FuseとApacheキャメルの違いは何ですか?マイクロサービスベースのアプリケーションの構築にどのように使用できますか?
Apache Camelは、既知のエンタープライズ統合パターンに基づく多用途のオープンソース統合フレームワークです。 Camelを使用すると、JavaベースのFluent API、SpringまたはBlueprint XML構成ファイル、Scala DSL)など、さまざまなドメイン固有言語でルーティングおよびメディエーションルールを定義できます。定義では、Apache Camelは統合フレームワークであると結論付けることができます。つまり、アプリケーションを構築するための一連のライブラリがあります。各アプリケーションは環境で実行する必要があります。ApacheCamelアプリケーションは次の方法で実行できます。
1-スタンドアロン。スタンドアロン実行の詳細については Camelスタンドアロン実行
2-OSGIコンテナー上。 Apache Camelは、Apache KarafOSGiコンテナーでうまく機能するように設計されています。 Redhat Fuseは、Apache CamelがActiveMQやCXFなどで使用するテクノロジーのFuseのサポートに加えて、ApacheKarafを介したCamelAppilcationの実行のサポートを提供していると言えます。詳細については、 https://developers.redhat.com/products/Fuse/overview/ を参照してください。
Camelを使用して、Camelコンテキスト内にCamelルートを記述し、たとえばmvnを使用してバンドルとしてパッケージ化し、Redhat Fuse Karafコンテナーにデプロイすることで、mircoサービスアプリケーションを構築できます。各ルートは、さまざまなテクノロジーを表すエンドポイントで構成され、SOAPおよびREST、ファイル、および統合プロセスで役立つエンドポイントへの多くのタイプのCXFである可能性があります。
モハメッドの答えを拡張するには:
Apache Camelは、コンテナに依存しないメディエーションおよびルーティングエンジンであり、Javaで実行され、エンタープライズ統合パターンを実装します。さまざまなプロトコルへのアクセスを提供するCamelコンポーネントが数百あります(ファイル:、http :、 ftp:、jms:、amqp:など)およびプロバイダー(AWS、DropBox、GitHubなど)。
Red Hat JBoss Fuse(以前はFuseSource.comのFuse ESB)は、ApacheServiceMixの商用実装です。 Apache ServiceMixは、OSGi(ランタイム)上に構築された統合フレームワークであり、Apache Karaf(OSGiコンテナー、OSGi仕様の一部ではない)、Apache Camel(メディエーションおよびルーティングエンジン)、Apache ActiveMQ(信頼性の高いメッセージング)、CXF(Webサービス)が含まれます。フレームワーク)、および他のいくつかのビット。
Camelは、スタンドアロン、Java EEデプロイメント内、OSGi(Karafの有無にかかわらず)、またはJavaを使用しているほとんどすべての場所)で実行するなど、さまざまな方法で実行できます。 Red Hatは、OpenShiftでSpringBootを使用してCamelを実行するように人々を促しているようです。