Microservices هو أسلوب معماري حيث يتم بناء التطبيق كمجموعة من الخدمات الصغيرة القابلة للنشر بشكل مستقل، كل منها تملك إمكانية عمل واحدة وتتواصل عبر الشبكة (HTTP أو gRPC أو messaging).
كيفية عمله
كل خدمة تعمل في عملية خاصة بها، لديها مخزن بيانات خاص بها، ويمكن تطويرها ونشرها وتوسيع نطاقها بشكل مستقل. الفرق تملك الخدمات من البداية للنهاية.
┌──────────────┐
Client ─▶ │ API Gateway │
└──────┬───────┘
┌───────────┼───────────┐
▼ ▼ ▼
┌────────┐ ┌─────────┐ ┌──────────┐
│ Orders │ │ Payments│ │ Shipping │ ← each: own code + DB
└───┬────┘ └────┬────┘ └────┬─────┘
▼ ▼ ▼
ordersDB paymentsDB shippingDB
