مثال میکروسرویس: بررسی پروژه eShop مایکروسافت

مثال میکروسرویس: بررسی پروژه eShop مایکروسافت
فهرست مقاله [نمایش]

    معرفی پروژه eShop  

    پروژه eShop، که توسط مایکروسافت توسعه یافته، یک نمونه عملی از پیاده‌سازی معماری میکروسرویس  است. این پروژه نه تنها به عنوان یک الگوی طراحی برای توسعه‌دهندگان نرم‌افزار کاربرد دارد، بلکه به عنوان یک ابزار آموزشی برای نشان دادن بهترین شیوه‌ها در توسعه سیستم‌های مدرن، قابل استفاده است.

    هدف پروژه eShop

    هدف اصلی از توسعه پروژه eShop این است که به توسعه‌دهندگان و شرکت‌هایی که به دنبال پیاده‌سازی راهکارهای مبتنی بر میکروسرویس‌ها هستند، یک نمونه عینی و کاملاً قابل اجرا ارائه دهد. دراین پروژه یاد میگیرید که چگونه می‌توان یک وب‌سایت فروشگاهی را با استفاده از سرویس های کوچک و مستقل که هر یک، یک وظیفه خاص را انجام می‌دهند، توسعه داد.

    معماری میکروسرویس پروژه eShop

    معماری پروژه eshop

    پروژه eShop یک زیرساخت میکروسرویس پیشرفته را نمایش می‌دهد که به وسیله‌ی چندین سرویس مختلف و تکنولوژی‌های کلیدی توسعه داده شده است.

    برنامه‌های کلاینت

    • برنامه موبایلاین بخش نشان‌دهنده نسخه موبایلی اپلیکیشن است که از طریق Mobile BFF و Mobile API به سرویس‌های ابری متصل می‌شود.
    • برنامه وببخش مرورگر نشان‌دهنده وب‌سایتی است که از طریق Blazor App به سرویس‌ها متصل شده و تجربه کاربری پیشرفته‌ای را ارائه می‌دهد.

    سرویس‌های ابری

    •     Identity Service: این سرویس با استفاده از Identity API و دیتابیس PostgreSQL، مدیریت هویت و دسترسی کاربران را انجام می‌دهد.
        
    •  Catalog Service: با استفاده از Catalog API، محصولات و کاتالوگ‌ها را مدیریت می‌کند و به دیتابیس PostgreSQL متصل است.
       
    •    Order Service: این سرویس که با Order Processor و PostgreSQL کار می‌کند، پردازش سفارشات را عهده‌دار است.
       
    •    Basket Service: با Basket API و پایگاه داده Redis، سبد خرید کاربران را مدیریت می‌کند.
       
    •    Payment Service: پردازش پرداخت‌ها را توسط Payment Processor انجام می‌دهد.
       
    •    Event Bus: ارتباط بین سرویس‌های مختلف را برای پردازش رویدادها و اطلاعات میان‌سرویسی فراهم می‌کند.

     

    سرویس‌های مدیریتی

     

    • Webhooks Service: با Webhooks API و PostgreSQL، پردازش وب‌هوک‌ها و اطلاع‌رسانی‌های پیشرفته را مدیریت می‌کند.

     

    • Observability: این بخش برای مانیتورینگ و نظارت بر عملکرد کلی سیستم است.
       

    اتصال با OpenAI

    تصویر نشان می‌دهد که پروژه با OpenAI نیز ارتباط دارد، که می‌تواند برای افزودن قابلیت‌های یادگیری ماشین و هوش مصنوعی به پروژه استفاده شود.

    به طور کلی، این معماری نمونه‌ای از ادغام چندین تکنولوژی و ابزار مدرن برای ایجاد یک سیستم مقیاس‌پذیر، قابل نگهداری و با قابلیت تحمل خطا است. استفاده از این مدل میکروسرویس به توسعه‌دهندگان اجازه می‌دهد تا هر بخش از سیستم را به صورت مستقل توسعه دهند و به راحتی با نیازهای تغییرپذیر بازار سازگار شوند.

     

    صفحه اصلی پروژه eShop

    نحوه استفاده از پروژه eShop

     

    آماده‌سازی برای شروع

    برای استفاده از این پروژه، نیاز به چند مرحله و مراحل نصب اولیه دارید:

    1. کلون کردن مخزن eShop:
      • باز کردن لینک مخزن eShop و کلون کردن آن در سیستم خود.
    2. نصب Visual Studio (فقط برای ویندوز):
      • Visual Studio 2022 نسخه 17.10 Preview را نصب کنید.
      • هنگام نصب، حتما گزینه‌های زیر را انتخاب کنید:
        • ASP.NET and web development.
        • کامپوننت SDK .NET Aspire در بخش Individual components.
    3. نصب SDK .NET 8:
      • آخرین نسخه SDK .NET 8 را نصب کنید.
    4. نصب و شروع به کار با Docker Desktop:

    اجرای پروژه

    • از طریق Visual Studio (فقط ویندوز):
      1.  فایل eShop.Web.slnf را در Visual Studio باز کنید.
      2. پروژه eShop.AppHost.csproj را به عنوان پروژه اصلی انتخاب کنید.
      3. با فشار دادن Ctrl-F5، برنامه را اجرا کنید.
    • از طریق ترمینال:
    • دستور زیر را وارد کنید:
    dotnet run --project src/eShop.AppHost/eShop.AppHost.csproj 
    • به دنبال خطوطی شبیه به مثال زیر در خروجی کنسول بگردید تا URL  داشبورد Aspire را پیدا کنید:

     

    Now listening on: http://localhost:18848 

     

    برای یادگیری سریع و تسلط بر معماری میکروسرویس، در دوره ستارگان میکروسرویس شرکت کنید.

     


    • نویسنده: تیم تحریریه باگتو

    ارسال دیدگاه

    برای افزودن دیدگاه خود، نیاز است ابتدا وارد حساب کاربری‌تان شوید


    دیدگاه کاربران