簡體   English   中英

Kafka流,將輸出分支到多個主題

[英]Kafka streams, branched output to multiple topics

在我的基於DSL的轉換中,我有一個流 - >分支,我希望分支輸出重定向到多個主題。 當前branch.to()方法僅接受String 有沒有使用stream.branch簡單選項,我可以將結果路由到多個主題。 對於消費者,我可以通過提供字符串數組作為主題來訂閱多個主題。

如果特定謂詞滿足查詢,我的問題需要我采取多個操作。

我嘗試使用stream.branch[index].to(string) ,但這還不足以滿足我的要求。 我正在尋找像stream.branch[index].to(string array of topics)stream.branch[index].to(string)

我期望branch.to方法有多個主題,或者是否有任何替代方法來實現與流相同的方法?

添加示例代碼。刪除實際變量名稱。

我的謂詞

    Predicate <String, MyDomainObject> Predicate1 = new Predicate<String, MyDomainObject>() {
        @Override
        public boolean test(String key, MyDomainObject domObj) {
            boolean result = false;
    if condition on domObj
            return result;
        }
    };
    Predicate <String, MyDomainObject> Predicate2 = new Predicate<String, MyDomainObject>() {
        @Override
        public boolean test(String key, MyDomainObject domObj) {
            boolean result = false;
    if condition on domObj
            return result;
        }
    };

    KStream <String, MyDomainObject>[] branches= myStream.branch(
            Predicate1, Predicate2
    );


// here I need your suggestions.

// this is my current implementation
branches[0].to(singleTopic),
            Produced.with(Serdes.String(), Serdes.serdeFrom(inSer, deSer)));

// I want to send notification to multiple topics. something like below

branches[0].to(topicList),
            Produced.with(Serdes.String(), Serdes.serdeFrom(inSer, deSer)));

如果您知道要將數據發送到哪些主題,則可以執行以下操作:

branches[0].to("first-topic");
branches[0].to("second-topic");
// etc.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM