我正在尝试为我设置的各种流创建聚合计数器。在SpringXD中,它看起来像这样:“tap:stream:MyCustomStream> aggregate-counter”。
到目前为止,在Spring Cloud Dataflow中,我已经完成了“:MyKafkaTopic> aggregate-counter”,它似乎创建了一个Kafka使用者并读取了有效负载以确定该主题上的事件计数。我希望能够点击任何流而不仅仅是Kafka源,例如“MyApp1 | MyApp2” - 名称MyCustomStream。
提供的示例“stream create --definition”:mainstream.http>计数器“--name tap_at_http --deploy”基本上假设为primary.http是一个Kafka主题(或RabbitMQ主题)。
之前有人这样做过吗?
答案 0 :(得分:0)
按照你的例子,
stream create foo --definition“MyApp1 | MyApp2”
如果您必须在生产者foo
级别点击MyApp1
流,则您的TAP流将具有以下内容。
stream create bar --definition“:foo.MyApp1> MyApp3”
您只是指向要在TAP中获取相同数据副本的流中的生产者。格式为::<streamName>.<label/appName>
。您也可以使用“标签”代替应用名称。有关详细信息,请查看reference guide。
提供的示例“stream create --definition”:mainstream.http&gt;计数器“--name tap_at_http --deploy”基本上假设为primary.http是一个Kafka主题(或RabbitMQ主题)。
在这种情况下,mainstream
是流名称,您在http
源应用程序上进行了TAP,这相当于:mainstream.http
。
这类似于Spring XD中的tap:stream:foo
。默认情况下,Spring XD假设生成器(如果仅在流中)。但是,当你在处理器上进行TAP时,你必须指定它。
在SCDF中,我们专门要求它使其更具描述性,并且DSL也易于遵循。