مطالعه فنی

سیستم‌های بک‌اند توزیع‌شدهMicroservices / RabbitMQ / gRPC

مطالعه فنی مالکیت سرویس‌ها، پیام‌رسانی غیرهمزمان، قراردادهای همزمان و مدیریت شکست.

MassTransitRabbitMQgRPC

طراحی سرویس · پیام‌رسانی · مالکیت داده

Microservices / RabbitMQ / gRPC

مطالعه فنی مالکیت سرویس‌ها، پیام‌رسانی غیرهمزمان، قراردادهای همزمان و مدیریت شکست.

این بخش یک مطالعه فنی است؛ سابقه همکاری با مشتری یا رخداد عملیاتی مشخصی به آن نسبت داده نمی‌شود.

معماری توزیع‌شده
01
Web
PWA
Client
API Gatewayیک نقطه ورود، مرزهای روشن
HTTPS
02
هویت.NET
محصول.NET
سفارش.NET
RabbitMQ·MassTransitgRPC
03
Identity DB
Product DB
Order DB
طرح معماری · نمای زنده سامانه نیست

01

معماری

در معماری Microservices، هر سرویس از طریق پایگاه داده مستقل، مالک داده‌های خود است. کلاینت‌ها به‌جای وابستگی مستقیم به تک‌تک سرویس‌های داخلی از API Gateway وارد می‌شوند. مرزها بر اساس قابلیت‌های کسب‌وکار تعریف می‌شوند و ارتباط با API و پیام‌های مشخص شکل می‌گیرد.

02

پیام‌رسانی

RabbitMQ و MassTransit امکان ارتباط رویدادمحور را فراهم می‌کنند. رویدادها تغییرات را میان مرز سرویس‌ها منتقل می‌کنند. مصرف‌کننده باید تحویل تکراری و خطا را صریح مدیریت کند؛ بنابراین پیام‌رسانی علاوه بر انتخاب ابزار انتقال، مسئله قابلیت اعتماد است.

03

ارتباط بین سرویس‌ها

gRPC برای قراردادهای همزمانی مناسب است که پاسخ آن‌ها در همان عملیات لازم است. پیام‌رسانی غیرهمزمان برای کارهایی به کار می‌رود که می‌توانند مستقل پیش بروند. نیاز به سازگاری داده، تأخیر و رفتار هنگام در دسترس نبودن سرویس مقابل، در این انتخاب نقش دارند.

04

معماری محصول و فروشنده

سرویس Product به‌جای خواندن مستقیم پایگاه داده Seller، یک SupplierReadModel محلی نگه می‌دارد. به این ترتیب مالکیت داده فروشنده حفظ می‌شود و Product می‌تواند پرس‌وجوهای خودش را پاسخ دهد. این مدل، نمایی از اطلاعات مورد نیاز محصول است و منبع اصلی تازه‌ای برای داده فروشنده محسوب نمی‌شود.

یادداشت‌های مهندسی

تماس

با یک مشکل پیچیده .NET مواجه هستید؟

برای معماری Microservices، مشکل Production، احراز هویت یا یک سیستم توزیع‌شده به کمک مهندسی نیاز دارید؟

شروع گفتگو