0

Camel の主な機能と制限のいくつかを理解するのにまだ苦労しています。

私の目的は、 camel エンドポイントを移行できるデモ アプリケーションを実装することです。これを実現するには、キャメル ロード バランサー パターンをフェールオーバー コンストラクトと共に使用する必要があると誰もが提案しました。

この目的を達成するために、人々は Fuse と ActiveMQ を提案しました。JBoss を提案した人もいますが、私は迷っています。

Camel には JMS サーバーの実装が必要であることを理解しています。これを実現するために、JMS サーバーの無料実装である ActiveMQ を使用できます。

ただし、camel は jms-component も提供します。これは何ですか?これは JMS のクライアント実装ですか? その場合、JMS 用の ActiveMQ クライアントを使用すべきではありませんか? 誰かが実用的な例を提供できますか?

ActiveMQ と JMS を理解したら、人々が Fuse を推奨する理由を探ることができます。実装をできるだけシンプルにしたい。なぜヒューズが必要なのですか? Camel + ActiveMQ の組み合わせには、フェイルオーバー メカニズムを備えたロード バランサー パターンがありますよね?

私はこの新しいテクノロジーの海で迷子になっています。誰かが方向性を教えてくれたらありがたいです。

4

2 に答える 2

2

Camel は 2 つのコンポーネントを提供します。1 つ目は、JMS サーバーに対して動作する汎用 API である jms コンポーネントです。もう 1 つは activemq コンポーネントで、activemq メッセージ ブローカーと連携するために activemq API を使用します。activemq コンポーネントは、(ネットワーク化された/外部ブローカーではなく) 内部ブローカーを使用する、servicemix/fuse などのデフォルト コンポーネントです。

activemq に接続している場合は、activemq コンポーネントまたは jms コンポーネントのいずれかを使用できます。jms コンポーネントはブローカーを自動的に起動しません。これは自分で行う必要があります。

Fusesource == JBoss Fuse == Apache ServiceMix + いくつかのアドオン。議論のために、これら 3 つすべてを ServiceMix と呼ぶことにします。

ServiceMix はエンタープライズ サービス バスです。概念に慣れていない場合は、ウィキペディアで用語を検索できます。Apache Camel を使用してコンポーネント間のルートを定義し、必要に応じて多数の統合パターンを実装します。ServiceMix は、デフォルトで、JAX-RS および JAX-WS サービス用の Apache CXF と、JMS メッセージ ブローカーである Apache ActiveMQ を使用してデプロイされます。Camel を使用すると、REST API が呼び出されたときに一連のステップを実行し、各ステップがその前のステップから分離されていることをサービス ミックスに伝えることができます。

JBoss Fuse (エンタープライズ版、有料版) には、フェイルオーバーに関するいくつかの追加コンポーネントが付属しています。これらの一部は servicemix に存在します (つまり、servicemix をホット スタンバイ モードで実行して、プライマリがダウンするのを待つことができます)。Camel ロード バランサー パターンは、1 つのエンドポイントからのメッセージを N 個のエンドポイントのセットのいずれかに配信できることを除いて、レプリケーションに関しては実際には何の意味もありません。 http://camel.apache.org/load-balancer.html

反対に、ServiceMix のフェイルオーバーhttp://servicemix.apache.org/docs/4.4.x/users-guide/failover.htmlをご覧ください。

あなたの質問に基づいて、システム障害のフェイルオーバー (新しいインスタンスに対して作業する必要がある) について言及していると思いますが、Camel Loadbalancer コンポーネント (コミュニティ側とあなたの側で混乱が生じている可能性があります) ではありません。

于 2013-11-02T16:49:29.493 に答える
1

これらを読むことから始めましょう... Camel In ActionActiveMQ In Action

于 2013-11-03T06:15:43.203 に答える