{
  "title": "جریان رویدادها",
  "slug": "team/platform/diagrams/event_driven_architecture",
  "url": "/docs/team/platform/diagrams/event_driven_architecture",
  "frontmatter": {
    "layout": "doc",
    "title": "جریان رویداد ها",
    "description": "جریان رویداد ها و ارتباط با کانتینرها",
    "version": "0.1.0",
    "status": "Draft",
    "author": "xoxxel",
    "owner": "xoxxel",
    "created_at": "2026-06-07",
    "updated_at": "2026-06-07",
    "tags": "",
    "reviewers": ""
  },
  "sections": [
    {
      "level": 1,
      "heading": "جریان رویدادها",
      "content": "**Event Driven Architecture**\n\nاین دیاگرام معماری رویدادمحور سیستم را نشان می‌دهد. تمام سرویس‌ها از طریق NATS JetStream به صورت ناهمزمان با هم ارتباط برقرار می‌کنند."
    },
    {
      "level": 2,
      "heading": "اصول معماری رویدادمحور",
      "content": "1. **تولیدکنندگان (Producers)** — تمام سرویس‌ها رویدادها را در NATS منتشر می‌کنند: Auth, KYC, IAM, Marketplace, Order, Payment, **Currency**, Wallet, **Settlement**, Chat, Dispute, Review, Zone, Moderation, Boost, Storage\n2. **NATS JetStream** — گذرگاه رویداد با قابلیت ذخیره‌سازی، تکرار و Delivery Guarantee\n3. **مصرف‌کنندگان (Consumers)** — سرویس‌های Search, Notification, Moderation, Review, Zone, Analytics, Storage, Dispute, **Settlement**, **Currency** رویدادها را مصرف می‌کنند"
    },
    {
      "level": 2,
      "heading": "جریان رویدادها",
      "content": ""
    },
    {
      "level": 3,
      "heading": "رویدادهای هویت → همه لایه‌ها",
      "content": "- رویدادهای Auth و IAM (ایجاد کاربر، تغییر نقش، مسدودیت) به KYC, Moderation, Notification, Review, Zone ارسال می‌شوند"
    },
    {
      "level": 3,
      "heading": "رویدادهای مالی — جریان جدید",
      "content": "- `payment.confirmed.v1` از Payment به Settlement و Analytics ارسال می‌شود (آغازگر تسویه)\n- `order.delivered.v1` از Order به Settlement ارسال می‌شود (تسویه پس از تحویل)\n- `settlement.completed.v1` از Settlement به Wallet، Notification و Analytics ارسال می‌شود\n- `settlement.commission.calculated.v1` از Settlement به Analytics ارسال می‌شود (درآمد پلتفرم)\n- `settlement.refund.initiated.v1` از Settlement به Wallet و Notification ارسال می‌شود (برگشت وجه)"
    },
    {
      "level": 3,
      "heading": "رویدادهای کسب‌وکار → خدمات عملیاتی",
      "content": "- تغییرات Marketplace و Order به Moderation ارسال می‌شود (بررسی تخلف)\n- رویدادهای پرداخت به Notification می‌رود (اطلاع‌رسانی)\n- تکمیل سفارش به Review و Zone ارسال می‌شود (به‌روزرسانی امتیاز و اعتبار)\n- رویدادهای سفارش به Dispute ارسال می‌شود (ثبت اختلاف)"
    },
    {
      "level": 3,
      "heading": "رویدادهای کسب‌وکار → خدمات رشد",
      "content": "- انتشار محصول جدید به Search ارسال می‌شود (ایندکس شدن)\n- رویدادهای مختلف به Analytics می‌روند (گزارش‌گیری)"
    },
    {
      "level": 3,
      "heading": "رویدادهای عملیاتی → خدمات زیرساختی",
      "content": "- رویدادهای Dispute و Review به Storage ارسال می‌شود (ذخیره مدارک)\n- رویدادهای Moderation به Notification ارسال می‌شود (اعلان محدودیت)"
    },
    {
      "level": 2,
      "heading": "مزایا",
      "content": "- **جداسازی (Decoupling)** — سرویس‌ها مستقیماً هم را صدا نمی‌زنند\n- **مقیاس‌پذیری** — هر مصرف‌کننده مستقل مقیاس می‌شود\n- **بازیابی** — NATS JetStream رویدادها را ذخیره و در صورت نیاز بازپخش می‌کند\n- **انعطاف‌پذیری** — سرویس جدید می‌تواند بدون تغییر در تولیدکنندگان رویدادها را مصرف کند\n\n```mermaid\n\nflowchart LR\n\n    Auth[Auth]\n    KYC[KYC]\n    IAM[IAM]\n    Marketplace[Marketplace]\n    Order[Order]\n    Payment[Payment]\n    Currency[Currency]\n    Wallet[Wallet]\n    Settlement[Settlement]\n    Chat[Chat]\n    Dispute[Dispute]\n    Review[Review]\n    Zone[Zone]\n    Moderation[Moderation]\n    Boost[Boost]\n    Storage[Storage]\n\n    NATS[(NATS JetStream)]\n\n    Search[Search]\n    Notification[Notification]\n    Moderation_Consumer[Moderation]\n    Review_Consumer[Review]\n    Zone_Consumer[Zone]\n    Analytics[Analytics]\n    Dispute_Consumer[Dispute]\n    Storage_Consumer[Storage]\n    Settlement_Consumer[Settlement]\n\n    Auth --> NATS\n    KYC --> NATS\n    IAM --> NATS\n    Marketplace --> NATS\n    Order --> NATS\n    Payment --> NATS\n    Currency --> NATS\n    Wallet --> NATS\n    Settlement --> NATS\n    Chat --> NATS\n    Dispute --> NATS\n    Review --> NATS\n    Zone --> NATS\n    Moderation --> NATS\n    Boost --> NATS\n    Storage --> NATS\n\n    NATS --> Search\n    NATS --> Notification\n    NATS --> Moderation_Consumer\n    NATS --> Review_Consumer\n    NATS --> Zone_Consumer\n    NATS --> Analytics\n    NATS --> Dispute_Consumer\n    NATS --> Storage_Consumer\n    NATS --> Settlement_Consumer\n\n```"
    }
  ]
}