Skip to content
Weave templates

Event-Driven Data Flow

Producer → topic → consumers → sinks. Classic Kafka-style fan-out.

Template previewWeave
Rendering…

Make it your own.

{
  "nodes": [
    { "id": "pr", "type": "rect", "label": "Order service",   "x": 40,  "y": 160, "fill": "#dbeafe" },
    { "id": "tp", "type": "ellipse", "label": "orders.v1",    "x": 240, "y": 160, "fill": "#fef3c7" },
    { "id": "c1", "type": "rect", "label": "Billing",         "x": 460, "y": 60,  "fill": "#ede9fe" },
    { "id": "c2", "type": "rect", "label": "Email",           "x": 460, "y": 160, "fill": "#ede9fe" },
    { "id": "c3", "type": "rect", "label": "Analytics",       "x": 460, "y": 260, "fill": "#ede9fe" },
    { "id": "s1", "type": "rect", "label": "Stripe",          "x": 660, "y": 60,  "fill": "#fce7f3" },
    { "id": "s2", "type": "rect", "label": "SES",             "x": 660, "y": 160, "fill": "#fce7f3" },
    { "id": "s3", "type": "rect", "label": "Warehouse",       "x": 660, "y": 260, "fill": "#fce7f3" }
  ],
  "edges": [
    { "id": "e1", "source": "pr", "target": "tp" },
    { "id": "e2", "source": "tp", "target": "c1" },
    { "id": "e3", "source": "tp", "target": "c2" },
    { "id": "e4", "source": "tp", "target": "c3" },
    { "id": "e5", "source": "c1", "target": "s1" },
    { "id": "e6", "source": "c2", "target": "s2" },
    { "id": "e7", "source": "c3", "target": "s3" }
  ]
}