سیستم توصیهگر بلادرنگ با استفاده از ابزارهای مدرن مهندسی داده

با وجود آموزشی بود این پروژه، اما معماری و ابزارهای به کار رفته در آن، فراتر از یک پروژه آموزشی ساده بوده و نمونهای کاربردی از معماری سیستمهای توصیهگر در مقیاس بزرگ محسوب میشود که هم قابلیت ارائه پیشنهادهای بلادرنگ و هم تحلیل دادههای تاریخی را دارا میباشد.
🎯فناوریهای به کار رفته
پروژه با استفاده از مدرنترین ابزارهای حوزه مهندسی داده توسعه یافته است:
🔰 پردازش جریان : Apache Spark Structured Streaming 4.0
🔰صف پیام- Message Broker: ردپاندا (جایگزین کافکا)
🔰مدیریت گردش کار – Workflow Orchestration : Apache Airflow 3.0
🔰ذخیرهسازی داده:
✔️ پستگرس برای دادههای عملیاتی و اصلی کسب و کار
✔️کلیکهوس برای تحلیلهای سریع دادههای تاریخی
✔️الستیک سرچ برای ثبت رویدادها و قابلیت مشاهدهپذیری (Observability)
🔰لایه ارائه سرویس – Serving Layer : FastAPI
🔰زیرساخت : Docker & Docker Compose
💡 ویژگیهای کلیدی پروژه
✔️معماری دو-مسیره ارائه سرویس: طراحیای هوشمند که در آن FastAPI پیشنهادهای لحظهای را از PostgreSQL و دادههای تحلیلی (مانند محصولات پرفروش) را از ClickHouse دریافت نموده و به کاربر نهایی ارائه میدهد.
✔️اتوماسیون با ایرفلو: تمامی فرآیندهای نگهداری و مدیریت دادهها، شامل تجمیعهای روزانه و نظارت بر سلامت سیستم، توسط DAGهای Airflow به صورت خودکار مدیریت میشوند.
✔️قابلیت مشاهدهپذیری کامل: با ارسال همزمان رویدادها به Elasticsearch، امکان عیبیابی و مشاهده وضعیت سیستم در داشبوردهای نظارتی مانند کیبانا فراهم شده است.
🎥 ویدئوی توضیح پروژه
برای درک بهتر جریان داده و معماری سیستم، ویدئوی ۸ دقیقهای توضیحات که توسط آقای جلوگیر تهیه شده را در این پست از کانال تلگرامی مدرسه مهندسی داده سپهرام مشاهده نمایید. در این ویدئو به تشریح کامل گردش کار، تعامل کامپوننتها و نتایج پروژه پرداخته شده است.
💻کد منبع پروژه
کدهای این پروژه به صورت کاملاً مستند و حرفهای در گیتهاب منتشر شده و میتواند منبع مناسبی برای یادگیری علاقهمندان به مهندسی داده و سیستمهای توصیهگر باشد.
مشاهده ریپازیتوری: https://github.com/AmirJlr/RealTimeRecSys
از تلاش و پشتکار آقای امیر جلوگیر در خلق این اثر ارزشمند سپاسگزاری مینماییم. همچنین از تیم آموزشی مدرسه سپهرام که بستر پیشرفت دانشجویان را فراهم میکنند، قدردانی میکنیم.