1 つの複雑なサービスがあり、これをさまざまなサービスに分解してオーケストレーションを行います。ほとんどのサービスは公開する必要がないため、Vertx で Knative のサービングとイベンティングを行うことができないかと考えていました。
単純なチェーンの場合、最初はイベントをデフォルトのブローカーに送信するサービスを準備しようとしましたが、ブローカー トリガーを使用して別の Vertx でイベントを取得できます。しかし、Broker Trigger では、イベント ジェネレータ サービスに応答する方法がわかりません。
最近、Vertxを内部で使用していますが、Vertxサービスの記述から少し単純に見えるCamel-Kを使用しようとしましたが、Knativeチャネルを介して通信できます。
イベント Camel-K の送信:
from('timer:clock?period=3s')
.setBody().constant("This is Sample Message")
.to('knative:channel/messages')
.log('sent message to messages channel')
Camel-k での受信イベント:
from('knative:channel/messages')
.log('got ${body}')
Sending Camel-K がメッセージを受信してさらに処理するように、Receiver Camel-K から返信を送信する方法は何でしょうか。
ユースケースは、他のアプリケーションが呼び出せるように公開されたサービスに似ています。リクエストを受け取った後、イベントを通じてさらに 2 つのサービスを変換およびオーケストレーションし、発信者に返信します。
Github に例があれば教えていただけると助かります。Knative に Camel / Vertx のいずれかを実装したい。