Event-Driven Architecture
Event-Driven Architecture (EDA) nima?
Section titled “Event-Driven Architecture (EDA) nima?”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”).
Asosiy Komponentlar
Section titled “Asosiy Komponentlar”- Producer (Ishlab chiqaruvchi): Hodisani yuzaga keltiruvchi servis. (Masalan,
OrderService). - Broker (Vositachi): Hodisalarni qabul qilib, ularni navbatda saqlovchi va kerakli joyga yetkazuvchi tizim (masalan, Kafka, RabbitMQ, Redis).
- Consumer (Iste’molchi): Hodisani tinglab turuvchi va unga reaksiya bildiruvchi servis. (Masalan,
NotificationService).
Ishlash prinsipi
Section titled “Ishlash prinsipi”sequenceDiagram participant OrderService participant Broker participant EmailService participant WarehouseService
OrderService->>Broker: OrderCreated Event Broker->>EmailService: Send Email Broker->>WarehouseService: Reserve ProductOrderService buyurtma yaratilganda EmailServiceni ham, WarehouseServiceni ham chaqirmaydi. U shunchaki “Buyurtma bo’ldi” deb baqiradi (Brokerga tashlaydi). Qolganlar esa buni eshitib, o’z ishini qiladi.