معرفی پروژه 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:
- باز کردن لینک مخزن eShop و کلون کردن آن در سیستم خود.
- نصب Visual Studio (فقط برای ویندوز):
- Visual Studio 2022 نسخه 17.10 Preview را نصب کنید.
- هنگام نصب، حتما گزینههای زیر را انتخاب کنید:
ASP.NET and web development
.- کامپوننت
SDK .NET Aspire
در بخشIndividual components
.
- نصب SDK .NET 8:
- آخرین نسخه
SDK .NET 8
را نصب کنید.
- آخرین نسخه
- نصب و شروع به کار با Docker Desktop:
- Docker Desktop را نصب کنید و مطمئن شوید که اجرا شده است.
اجرای پروژه
- از طریق Visual Studio (فقط ویندوز):
- فایل
eShop.Web.slnf
را در Visual Studio باز کنید. - پروژه
eShop.AppHost.csproj
را به عنوان پروژه اصلی انتخاب کنید. - با فشار دادن Ctrl-F5، برنامه را اجرا کنید.
- فایل
- از طریق ترمینال:
- دستور زیر را وارد کنید:
dotnet run --project src/eShop.AppHost/eShop.AppHost.csproj
- به دنبال خطوطی شبیه به مثال زیر در خروجی کنسول بگردید تا URL داشبورد Aspire را پیدا کنید:
Now listening on: http://localhost:18848
برای یادگیری سریع و تسلط بر معماری میکروسرویس، در دوره ستارگان میکروسرویس شرکت کنید.
برای افزودن دیدگاه خود، نیاز است ابتدا وارد حساب کاربریتان شوید