স্টেজ ০৬

স্টেজ ০৬ - Monolith ভাঙা

এই স্টেজের লক্ষ্য: এতদিন আমাদের পুরো system ছিলো একটাই codebase, একটাই deploy। Team ছোট থাকলে এটাই সবচেয়ে ভালো। কিন্তু team বড় হলে একজনের ছোট পরিবর্তন অন্য দশজনের কাজ আটকে দেয়। এই স্টেজে আমরা দেখবো, কখন monolith ভাঙা উচিত, কখন একদমই না। আর ভাঙলে service গুলো কীভাবে একে অপরের সাথে কথা বলে, বাইরের user কীভাবে তাদের কাছে পৌঁছায়, আর service গুলো একে অপরকে খুঁজে পায় কীভাবে।

"Microservice কোনো লক্ষ্য নয়। এটা বড় team এর একটা সমস্যার সমাধান, আর এর নিজের দামও আছে।"

স্টেজ ০৫ শেষে আমাদের system একটার ভেতরেই কাজ ভাগ করে নিতে শিখেছে। ধীর কাজ queue তে যায়, worker রা background এ কাজ করে, আর একটা event অনেক জায়গায় পৌঁছে যায়। কিন্তু code এখনো একটাই বড় repository তে, আর প্রতি সপ্তাহে সবাই মিলে একসাথে deploy করে।

Team যখন চারজন থেকে ষাটজনে পৌঁছায়, তখন এই একসাথে থাকাটাই সবচেয়ে বড় বাধা হয়ে দাঁড়ায়। এই স্টেজে আমরা monolith ভাঙার পুরো গল্পটা দেখবো: কখন ভাঙবেন, কীভাবে ভাঙবেন, আর ভাঙার পর কোন নতুন সমস্যাগুলো সামলাতে হয়। স্টেজ শেষে আপনি বুঝবেন, microservice কেন সবার জন্য নয়।

০১ এই স্টেজে যা শিখবো

সেশন শিরোনাম এই সেশনের লক্ষ্য
সেশন ১১ Microservices (কখন ও কেন) Monolith আর modular monolith, ভাগ করার চারটা আসল কারণ, bounded context আর database per service, distributed monolith এর ফাঁদ, Conway's law, strangler fig দিয়ে ধাপে ধাপে migration, আর network, debugging, data ও operations এর cost।
সেশন ১২ Service-to-Service Communication Sync RPC বনাম async message, REST/JSON বনাম gRPC/Protobuf, API contract আর versioning, series বনাম parallel call, tail latency, প্রতিটা call এ timeout, cascading failure, retry আর idempotency, আর service mesh ও sidecar।
সেশন ১৩ API Gateway Client এর জন্য একটাই দরজা: routing, gateway এ JWT check, TLS termination, rate limiting, request aggregation, BFF, response caching, আর redundant gateway দিয়ে SPOF এড়ানো।
সেশন ১৪ Service Discovery Hard-coded IP কেন ভাঙে, service registry, self-registration আর deregistration, heartbeat ও health check, client-side বনাম server-side discovery, DNS এর TTL সমস্যা, Kubernetes Service, আর stale entry ও registry failure।

০২ স্টেজ শেষে যা যা করতে পারবেন

০৩ এর পর যা আসছে...

স্টেজ ০৬ শেষে আমাদের system অনেকগুলো আলাদা service এ ভাগ হয়ে গেছে। কিন্তু এর সাথে একটা নতুন প্রশ্ন আসে: অনেকগুলো machine একসাথে কীভাবে একই সত্যে একমত হয়? স্টেজ ০৭ এ আমরা distributed system এর গভীরে যাবো: CAP theorem, consensus (Raft), distributed transaction ও saga, আর exactly-once processing।