Kafka 服务向多个knative broker发送事件的正确方式是什么?

bihw5rsg  于 12个月前  发布在  Apache
关注(0)|答案(1)|浏览(111)

我有一个服务,我想发布事件到多个代理,[一个在不同的命名空间]。问题是,即使我已经设置了多个Sinkbinding,K_SINK被注入到服务pod中,只有一个代理端点,而不是两个。我错过了什么,或者有更好的方式发布事件到多个代理,除了硬编码Knative Broker Ingress URL并基于代理名称和命名空间在代码中动态创建完整的URL之外?
最终,我只想发布不同的Kafka主题。

nszi6y05

nszi6y051#

在一个SinkBinding中有多个K_SINK是不可能的。所以你可以为此创建一个feature request
在此期间,你可以做的是将你的SinkBinding的sink指向Broker。然后为这个Broker设置多个Trigger,将事件发送到一个Sink(或者如果你只想要不同的主题,一个KafkaSink):

┌──► Trigger1 ───► Sink1
                      │
Service ────► Broker ─├──► Trigger2 ───► Sink2
                      │
                      └──► Trigger3 ───► Sink3

字符串
在SinkBinding中,接收器是Broker,主体是Service,然后Service在K_SINK中获取Brokers地址。

相关问题