12 / 18

Event-driven architectureURL copied

direction: right
producers: {
  checkout: {
    label: Checkout Service
    icon: "https://api.iconify.design/mdi:cart-outline.svg"
  }
  billing: {
    label: Billing Service
    icon: "https://api.iconify.design/mdi:credit-card-outline.svg"
  }
  support: {
    label: Support Service
    icon: "https://api.iconify.design/mdi:headset.svg"
  }
}

broker: {
  kafka: {
    label: Event Bus
    icon: "https://api.iconify.design/logos:kafka-icon.svg"
  }
}

consumers: {
  fraud: {
    label: Fraud Detector
    icon: "https://api.iconify.design/mdi:shield-alert-outline.svg"
  }
  analytics: {
    label: Analytics
    icon: "https://api.iconify.design/mdi:chart-line.svg"
  }
  notifier: {
    label: Notification Service
    icon: "https://api.iconify.design/mdi:bell-outline.svg"
  }
}

stores: {
  lake: {
    label: Data Lake
    icon: "https://api.iconify.design/mdi:database-outline.svg"
  }
  redis: {
    label: Materialized View Cache
    icon: "https://api.iconify.design/logos:redis.svg"
  }
}

producers.checkout -> broker.kafka: order.created
producers.billing -> broker.kafka: payment.captured
producers.support -> broker.kafka: ticket.opened

broker.kafka -> consumers.fraud
broker.kafka -> consumers.analytics
broker.kafka -> consumers.notifier

consumers.analytics -> stores.lake
consumers.fraud -> stores.redis
Event Pipeline
Copied
```d2
---
title: Event Pipeline
width: 88vw
height: 460px
layout: elk
---
direction: right
producers: {
  checkout: {
    label: Checkout Service
    icon: "https://api.iconify.design/mdi:cart-outline.svg"
  }
  billing: {
    label: Billing Service
    icon: "https://api.iconify.design/mdi:credit-card-outline.svg"
  }
  support: {
    label: Support Service
    icon: "https://api.iconify.design/mdi:headset.svg"
  }
}

broker: {
  kafka: {
    label: Event Bus
    icon: "https://api.iconify.design/logos:kafka-icon.svg"
  }
}

consumers: {
  fraud: {
    label: Fraud Detector
    icon: "https://api.iconify.design/mdi:shield-alert-outline.svg"
  }
  analytics: {
    label: Analytics
    icon: "https://api.iconify.design/mdi:chart-line.svg"
  }
  notifier: {
    label: Notification Service
    icon: "https://api.iconify.design/mdi:bell-outline.svg"
  }
}

stores: {
  lake: {
    label: Data Lake
    icon: "https://api.iconify.design/mdi:database-outline.svg"
  }
  redis: {
    label: Materialized View Cache
    icon: "https://api.iconify.design/logos:redis.svg"
  }
}

producers.checkout -> broker.kafka: order.created
producers.billing -> broker.kafka: payment.captured
producers.support -> broker.kafka: ticket.opened

broker.kafka -> consumers.fraud
broker.kafka -> consumers.analytics
broker.kafka -> consumers.notifier

consumers.analytics -> stores.lake
consumers.fraud -> stores.redis
```