Skip to content

Event-Driven Architecture

Event-Driven Architecture — bu dastur komponentlari bir-biri bilan to’g’ridan-to’g’ri (HTTP request kabi) emas, balki hodisalar (events) orqali muloqot qiladigan arxitekturadir.

Bu yerda “Event” — tizimda sodir bo’lgan muhim o’zgarish (masalan: “Foydalanuvchi ro’yxatdan o’tdi”, “To’lov amalga oshdi”).

  1. Producer (Ishlab chiqaruvchi): Hodisani yuzaga keltiruvchi servis. (Masalan, OrderService).
  2. Broker (Vositachi): Hodisalarni qabul qilib, ularni navbatda saqlovchi va kerakli joyga yetkazuvchi tizim (masalan, Kafka, RabbitMQ, Redis).
  3. Consumer (Iste’molchi): Hodisani tinglab turuvchi va unga reaksiya bildiruvchi servis. (Masalan, NotificationService).
sequenceDiagram
participant OrderService
participant Broker
participant EmailService
participant WarehouseService
OrderService->>Broker: OrderCreated Event
Broker->>EmailService: Send Email
Broker->>WarehouseService: Reserve Product

OrderService buyurtma yaratilganda EmailServiceni ham, WarehouseServiceni ham chaqirmaydi. U shunchaki “Buyurtma bo’ldi” deb baqiradi (Brokerga tashlaydi). Qolganlar esa buni eshitib, o’z ishini qiladi.