103 lines
13 KiB
Markdown
103 lines
13 KiB
Markdown
# مشخصات درسنامه: بررسی موردی اسنپ؛ مدیریت میلیونها سفر روزانه، سیستمهای دیسپچ و تابآوری بلادرنگ
|
||
- **شناسه در سیلابس:** `L16.3b`
|
||
- **فصل:** فصل ۱۶: ادامه راه (Ch 16)
|
||
- **نوع محتوا:** 📘 درسنامه متنی
|
||
- **زمان تقریبی مطالعه:** ۱۸ دقیقه
|
||
- **پیشنیازهای مستقیم:** `L16.3a` (بررسی موردی دیجیکالا)
|
||
|
||
---
|
||
|
||
## ۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy)
|
||
دانشجو پس از مطالعهٔ این درسنامه باید بتواند:
|
||
- [ ] **درک کند (Understand):** معماری سیستمهای توزیعشده فوقپرترافیک در سوپراپلیکیشن **اسنپ** (پردازش بیش از ۵ میلیون سفر و تراکنش روزانه در بیش از ۱۵۰ شهر) را شرح دهد.
|
||
- [ ] **تحلیل/ارزیابی کند (Evaluate):** کاربردهای هوش مصنوعی و یادگیری ماشین در اسنپ شامل: موتور تطبیق و تخصیص راننده به مسافر (Dispatch Engine)، تخمین زمان رسیدن (ETA Prediction)، و تشخیص خودکار تقلب (Fraud Detection) را ارزیابی نماید.
|
||
- [ ] **درک کند (Understand):** چگونه تیمهای مهندسی اسنپ از ایجنتهای هوش مصنوعی برای تولید پروتکلهای ارتباطی پرسرعت (gRPC / Protobuf)، ممیزی لاگهای استریم کافکا (Kafka) و نگهداری کدهای با همزمانی بالا (Concurrency) استفاده میکنند.
|
||
- [ ] **بهکار ببندد (Apply):** اصول تابآوری در برابر بار لحظهای، مدیریت سوکتهای بلادرنگ (Real-time WebSockets)، و بهینهسازی ارتباطات شبکه را در معماری پروژههای خود لحاظ کند.
|
||
|
||
---
|
||
|
||
## ۲. محدوده و مرزهای محتوا (Scope & Boundaries)
|
||
|
||
### آنچه باید پوشش داده شود (In-Scope):
|
||
1. **مقیاس ماورایی اسنپ: قلب تپنده حملونقل شهری ایران:**
|
||
* مدیریت میلیونها مسافر و صدها هزار راننده همزمان آنلاین که هر ثانیه مختصات جغرافیایی (GPS) خود را به سرور مخابره میکنند.
|
||
2. **محور اول هوش مصنوعی: موتور دیسپچ و تطبیق هوشمند (Intelligent Dispatch):**
|
||
* چرا اختصاص نزدیکترین راننده از نظر خط مستقیم لزوماً بهترین انتخاب نیست؟ (ترافیک، جهت حرکت، موانع یکطرفه).
|
||
* شبکهبندی جغرافیایی فضایی (Geohash / H3 Grid) و استفاده از الگوریتمهای بهینهسازی برای تطبیق دستهای درخواستها در کسری از ثانیه.
|
||
3. **محور دوم هوش مصنوعی: تخمین زمان رسیدن به مقصد (ETA Prediction):**
|
||
* ترکیب دادههای زنده ترافیک، الگوهای تاریخی حرکت در روزهای بارانی و ساعتهای پیک با مدلهای یادگیری عمیق برای تخمین دقیق زمان سفر.
|
||
4. **محور سوم هوش مصنوعی: سپر امنیتی و کشف تقلب (Fraud & Anomaly Detection):**
|
||
* کشف رفتارهای غیرعادی رانندگان (مثل سفرهای صوری برای دریافت پاداش، جعل مختصات GPS Spoofing، یا حسابهای جعلی) با مدلهای بدون نظارت.
|
||
5. **محور چهارم: مهندسی نرمافزار با ایجنتهای AI در تیمهای فنی اسنپ:**
|
||
* نوشتن کدهای پرهمزمانی با زبانهای Go و Elixir و استفاده از ابزارهای هوش مصنوعی برای تولید اسکیماهای gRPC.
|
||
* پایش بلادرنگ صفهای پیام کافکا (Apache Kafka) و استفاده از ایجنتها برای ریشهیابی آنی تاخیرها (Lag Analysis).
|
||
* تولید خودکار تستهای تنش و شبیهسازی ترافیک سنگین بار برای اطمینان از تابآوری سیستمها در روزهای برفی.
|
||
6. **درسهای طلایی اسنپ برای یک وایب کدر:**
|
||
* مدیریت وضعیتهای زنده (Real-time State)؛ چرا هر درخواستی نباید مستقیم به دیتابیس کوئری بزند و اهمیت لایههای کش موقت.
|
||
7. **کالاوتهای آموزشی و الهامبخش کوئرا:**
|
||
* کالاوت بنفش (`<details class="violet">`): مفهوم شاخص مکانی H3 ابداعی Uber و نحوه تقسیم شهر به ششضلعیهای فضایی برای محاسبات فوقسریع هوش مصنوعی.
|
||
* کالاوت سبز (`<details class="green">`): تقاضای رو به رشد تیمهای فنی اسنپ برای جذب مهندسانی که ذهنیت سیستمهای توزیعشده و تسلط بر ابزارهای هوش مصنوعی دارند.
|
||
* کالاوت قرمز (`<details class="red">`): اهمیت مانیتورینگ بلادرنگ؛ در سیستمی مانند اسنپ، حتی ۵ ثانیه تاخیر در پاسخ سرور میتواند منجر به لغو هزاران سفر شود.
|
||
|
||
### آنچه نباید وارد آن شویم (Out-of-Scope):
|
||
- فرمولهای ریاضی پیچیده الگوریتمهای بهینهسازی کولونی مورچهها.
|
||
- جزییات محرمانه سورسکدهای داخلی شرکت اسنپ.
|
||
|
||
---
|
||
|
||
## ۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms)
|
||
|
||
| اصطلاح انگلیسی | معادل فارسی مصوب | توضیح یکخطی ساده |
|
||
| :--- | :--- | :--- |
|
||
| Dispatch Engine | موتور تخصیص و دیسپچ | سیستم محاسباتی مرکزی که بر اساس فاصله، ترافیک و موقعیت، درخواست مسافر را به بهترین راننده واگذار میکند |
|
||
| ETA (Estimated Time of Arrival) | زمان تخمینی رسیدن | محاسبه پیشبینانه دقیق لحظه رسیدن راننده به مبدأ یا رسیدن خودرو به مقصد بر پایه ترافیک زنده |
|
||
| GPS Spoofing | جعل مختصات ماهوارهای | ترفند فریبکارانه دستکاری نرمافزاری موقعیت مکانی گوشی برای تظاهر به حضور در منطقهای دیگر |
|
||
| Concurrency | همزمانی پردازش | توانایی سیستم نرمافزاری در پردازش مستقل و همزمان هزاران درخواست بدون ایجاد صف انتظار |
|
||
| Spatial Indexing (H3) | نمایهسازی فضایی جغرافیایی | روش تقسیمبندی نقشه زمین به سلولهای ششضلعی هندسی برای تسریع الگوریتمهای موقعیتیابی |
|
||
|
||
---
|
||
|
||
## ۴. جایگاههای تصاویر و نمودارها (Visual & Diagram Placeholders)
|
||
> **راهنمای ایجنت نویسنده:** تمام تصاویر باید در پوشهٔ `images/` ذخیره شده و در جدول تکخانهای وسطچین درج شوند:
|
||
|
||
1. **تصویر کاور درس:** `images/cover.png`
|
||
* **موضوع:** نقشه تاریک و نئونی شهر با نقاط نورانی بیشمار خودروها، مسیرهای سبز و نارنجی ترافیک و شبکههای ششضلعی هوشمند اسنپ.
|
||
2. **چرخه تخصیص هوشمند راننده با شبکه ششضلعی H3:** `images/snapp-dispatch-h3-grid.png`
|
||
* **موضوع:** اینفوگرافیک: مسافر درخواست میدهد $\rightarrow$ تقسیم نقشه به سلولهای ششضلعی $\rightarrow$ فیلتر رانندگان فعال $\rightarrow$ اولویتبندی بر اساس ترافیک و زمان رسیدن $\rightarrow$ ارسال درخواست به گوشی راننده.
|
||
3. **معماری پایش بلادرنگ با کافکا و ایجنتهای هوش مصنوعی:** `images/snapp-kafka-telemetry-architecture.png`
|
||
* **موضوع:** دیاگرام توزیع داده: صدها هزار کلاینت موبایل $\rightarrow$ سرورهای وبسوکت $\rightarrow$ صف کافکا $\rightarrow$ آنالیزور بلادرنگ لاگها با ایجنت $\rightarrow$ داشبورد هشدار مهندسان.
|
||
4. **داشبورد پایش بلادرنگ خطاهای شبکه در اسنپ:** `images/snapp-monitoring-metrics-screen.png`
|
||
* **موضوع:** اسکرینشات از داشبورد گرافیکی مانیتورینگ با نمودار سفرها در ثانیه (Rides Per Second) و نشانگرهای سلامت دیتاسنترها.
|
||
|
||
---
|
||
|
||
## ۵. بخشبندی و ساختار محتوایی پیشنهادی درسنامه (`README.md`)
|
||
|
||
1. **تیتر اصلی:** `# بررسی موردی اسنپ؛ مدیریت میلیونها سفر روزانه، سیستمهای دیسپچ و تابآوری بلادرنگ`
|
||
2. **مقدمه:** وقتی میلیونها انسان هر روز برای رسیدن به کار و خانه به یک اپلیکیشن اعتماد میکنند، مهندسی نرمافزار و هوش مصنوعی چگونه چراغ شهر را روشن نگه میدارند؟
|
||
3. **جدول کاور درس**
|
||
4. **مقیاس مهندسی اسنپ: شهری که هرگز نمیخوابد:**
|
||
* پردازش ۵ میلیون سفر روزانه، ارسال ثانیهای مختصات جیپیاس و مدیریت همزمانی فوقالعاده بالا.
|
||
5. **موتور هوشمند دیسپچ: هنر جفت کردن مسافر و راننده در کسری از ثانیه:**
|
||
* چرا فاصله مستقیم خطکشی فریبنده است؟ استفاده از شبکهبندی ششضلعی H3.
|
||
6. **پیشبینی زمان رسیدن (ETA) با یادگیری ماشین:**
|
||
* چطور اسنپ ترافیک ساعت ۵ عصر اتوبان همت را در هوای بارانی پیشبینی میکند؟
|
||
7. **کشف خودکار تقلب و تخلفات (Anti-Fraud Systems):**
|
||
* شناسایی رانندگانی که با نرمافزارهای جعلی موقعیت خود را دستکاری میکنند.
|
||
8. **مهندسی با ایجنتهای AI در قلب تیمهای فنی اسنپ:**
|
||
* نوشتن سرویسهای پرسرعت Go و Elixir و رصد صفهای سنگین کافکا با دستیاران هوش مصنوعی.
|
||
9. **درسهای اسنپ برای سازندگان وایب کدینگ:**
|
||
* اهمیت تفکیک کارهای سنگین محاسباتی از جریان اصلی دیتابیس و بهرهگیری از معماری Event-Driven.
|
||
10. **باکس نکته Quera (`<details class="violet">`):** استفاده از ارتباطات وبسوکت دوطرفه (Full-Duplex WebSockets) به جای رفرش مداوم صفحات؛ درسی بزرگ برای ساخت برنامههای زنده.
|
||
11. **باکس هشدار Quera (`<details class="red">`):** خطرات وابستگی به جیپیاس خام؛ همیشه دادههای مکانی موبایل نیازمند فیلتر کردن نویزها و پرشهای ناگهانی نقشه هستند.
|
||
12. **باکس رضایتبخش Quera (`<details class="green">`):** دیدن عظمت سیستمهایی که مهندسان جوان ایرانی در اسنپ ساختهاند و الهامگیری از استانداردهای مهندسی مقیاس کلان.
|
||
13. **جمعبندی درسنامه:** پایان کالبدشکافی اسنپ؛ ورود به ایستگاه بررسی موردی کافهبازار (بررسی خودکار اپلیکیشنها و امنیت استور) در درس بعدی.
|
||
|
||
---
|
||
|
||
## ۶. معیارهای پذیرش (Acceptance Criteria for Reviewer)
|
||
- [ ] چالشهای مقیاس کلان پلتفرم اسنپ به همراه اعداد و ارقام واقعی بیان شود.
|
||
- [ ] مکانیزمهای دیسپچ، نمایهسازی فضایی H3 و پیشبینی ETA به زبان ساده تشریح گردند.
|
||
- [ ] نحوه استفاده مهندسان اسنپ از ابزارهای هوش مصنوعی در پایش کافکا و کدنویسی همزمان آموزش داده شود.
|
||
- [ ] درسهای معماری تابآور و Real-time برای دانشجویان دوره ارائه گردد.
|