如何记录 Kafka Streams?

ouv*_*ite 2 diagram apache-kafka

我如何绘制我的 topci/stream 关​​系图?有一个标准吗?

我可以使用流的拓扑并使用像这样的查看器: https: //zz85.github.io/kafka-streams-viz/。但我觉得这个水平太低了。

我想要一个更抽象的图表来表示主题以及它们之间的“业务”操作。不需要具备适当的 Kafka 知识就能理解的东西。

Jav*_*cal 5

Kafka 流可视化工具只是通过从拓扑描述 ( ) 创建图像来工作Topology#describe()

我想要一个更抽象的图表来表示主题以及它们之间的“业务”操作。不需要具备适当的 Kafka 知识就能理解的东西。

我希望你想从你的图表中避免KSTREAM-SOURCEKSTREAM-TRANSFORM

Topology
Sub-topologies:
Sub-topology: 0
    Source:  KSTREAM-SOURCE-0000000000 (topics: [conversation-meta])
    --> KSTREAM-TRANSFORM-0000000001
    Processor: KSTREAM-TRANSFORM-0000000001 (stores: [conversation-meta-state])
    --> KSTREAM-KEY-SELECT-0000000002
    <-- KSTREAM-SOURCE-0000000000
    Processor: KSTREAM-KEY-SELECT-0000000002 (stores: [])
    --> KSTREAM-FILTER-0000000005
    <-- KSTREAM-TRANSFORM-0000000001
    ...
    omitted for the sake of brevity
Run Code Online (Sandbox Code Playgroud)

您可以简单地Replace All使用KSTREAM-xxx适当的名称。例如,

Topology
Sub-topologies:
Sub-topology: 0
    Source:  Conversations (topics: [conversation-meta])
    --> TransformConversation
    Processor: TransformConversation (stores: [conversation-meta-state])
    --> KSTREAM-KEY-SELECT-0000000002
    <-- KSTREAM-SOURCE-0000000000
    Processor: KSTREAM-KEY-SELECT-0000000002 (stores: [])
    --> KSTREAM-FILTER-0000000005
    <-- TransformConversation
Run Code Online (Sandbox Code Playgroud)

这里KSTREAM-TRANSFORM-0000000001已改为TransformConversationKSTREAM-SOURCE-0000000000已改为Conversations


如果您在 Kafka 流应用程序中使用处理器 API并构建拓扑并执行describe()拓扑,则拓扑将附带适当的处理器名称,因为在处理器 API 中您可以为处理器提供名称。