Microservices — রোডম্যাপ
কখন একটা monolith ভাঙবেন, service-দের মধ্যে gRPC, Consul দিয়ে service discovery।
বাস্তব জীবনের উদাহরণ
একটা ছোট রেস্তোরাঁ বনাম একটা food court: একটা রেস্তোরাঁর (monolith) থাকে একটাই রান্নাঘর, একটাই বিল, একটাই স্টাফ — মেনু বিস্ফোরিত না হওয়া পর্যন্ত আর রান্নাঘর সামলাতে না পারা পর্যন্ত চালানো সহজ। একটা food court-এ (microservices) থাকে বিশেষায়িত স্টল, যেগুলো স্বাধীনভাবে খুলতে-বন্ধ হতে পারে, নিজেদের মতো scale করতে পারে, এবং পুরো court বন্ধ না করে একাই fail করতে পারে। এর trade-off হলো coordination: অর্ডার কে নেয়, আর sushi কীভাবে জানবে যে stir-fry রেডি?
আপনি যা শিখবেন
Microservices কোনো default নয় — এটা একটা trade-off। এই track-এ কভার করা হয়েছে ভাঙার আসল খরচগুলো (distributed transactions, network calls, operational overhead), কাটার আগে সঠিক seam কীভাবে খুঁজে বের করবেন, আর যে infrastructure service-গুলোকে একসাথে ধরে রাখে: gRPC contracts, service discovery, API gateway pattern, এবং reliability pattern (circuit breakers, bulkheads, retries) যেগুলো একটা slow service-কে পুরো outage-এ cascade হওয়া থেকে ঠেকায়।
এই track-এর chapter-গুলো
- Monolith vs Microservices — কখন ভাঙবেন, strangler fig pattern, মাঝামাঝি সমাধান হিসেবে modular monolith
- gRPC Between Services — Protocol Buffers, code generation, streaming, error handling, schema evolution
- Service Discovery — DNS-based discovery, Consul, client-side vs server-side LB, service mesh
- API Gateway — routing, auth, rate limiting, request transformation, gateway-এ কী রাখবেন না
- Inter-Service Reliability — timeouts, retries, circuit breakers, bulkheads, hedged requests