Mohammad Jawad Barati
Mohammad Jawad Barati
خواندن ۱ دقیقه·۴ سال پیش

دیزاین پیترن های microservice

میکروسرویس ها این روزا خیلی ترند شدن و دیگه هر جایی میری ازت میخوان میکروسرویس کار کنی ولی باید یادت باشه که میکروسرویس مشکلاتی رو حل میکنه ولی مشکلاتی هم خلق میکنه. پس design pattern هایی لازم داریم تا مشکلات رو حل کنیم.

معرفی principle های میکروسرویس

  1. راحت باشه scale کردنش (Scalability)
  2. باعث بشه سرویس هات بیشتر در دسترس باشن (Availability)
  3. سرویس هات flexibility بیشتری داشته باشن (Resiliency)
  4. سرویس های Independent و autonomous داشته باشی
  5. مرکزیت نداشته باشی (Decentralized governance)
  6. هر سرویس از بقیه سرویس هات ایزوله باشه (Failure isolation)
  7. Auto-Provisioning
  8. داشتن Continuous delivery

توی میکروسرویس تلاشمون روی loosely coupled کردن سرویس هاست تا هر سیستم فقط یه وظیفه داشته باشه.


Decomposition Patterns

  • Decompose by Business Capability
  • Decompose by Subdomain
  • Strangler Pattern



Integration Patterns

  • API Gateway Pattern
  • Aggregator Pattern
  • Client-Side UI Composition Pattern




Database Patterns

  • Database per Service
  • Shared Database per Service
  • Command Query Responsibility Segregation (CQRS)
  • Saga Pattern




Observability Patterns

  • Log Aggregation
  • Performance Metrics
  • Distributed Tracing
  • Health Check




Cross-Cutting Concern Patterns

  • External Configuration
  • Service Discovery Pattern
  • Circuit Breaker Pattern
  • Blue-Green Deployment Pattern


رفرنس

microservicedesign patternssoftwaresoftware engineering
برنانه نویس، مدرس، محقق. عاشق انیمه هستم و دنبال چالش ها جدید.
شاید از این پست‌ها خوشتان بیاید