"এক সার্ভারে যাত্রা শুরু, বহু সার্ভারে প্রসার।"
স্টেজ ০১ এ আমরা থিওরি বুঝেছি। সিস্টেম ডিজাইন কেন দরকার, আর কোন টার্ম কখন দরকার পড়ে, সেটা জেনেছি। এই স্টেজে আমরা হাতে কলমে দেখবো। একটা চায়ের দোকান কীভাবে Multiple Server, Load Balancer আর Stateless Design দিয়ে scale করে, সেটা ধাপে ধাপে দেখবো। প্রতিটা লেয়ার আসবে একেকটা নির্দিষ্ট সমস্যার সমাধান হিসেবে।
এই স্টেজ শেষে আপনি একটা মাঝারি আকারের application এর architecture নিজে সাজাতে পারবেন। সেই architecture এ web layer redundant হবে, মানে একটা server down হলেও বাকিগুলো চলবে। দরকার হলে আরো server যোগ করা যাবে। আর session data ঠিকভাবে সামলানো হবে। এর পরের স্টেজে আমাদের লক্ষ্য ডেটা লেয়ার।
০১ এই স্টেজে যা শিখবো
| সেশন | শিরোনাম | এই সেশনের লক্ষ্য |
|---|---|---|
| সেশন ০২ | এক সার্ভার থেকে অনেক সার্ভার | Web আর Database আলাদা করা, একাধিক Web Server, Load Balancer এর কাজ, Redundancy দিয়ে SPOF কমানো, আর Stateful বনাম Stateless server এর গল্প। |
০২ স্টেজ শেষে যা যা করতে পারবেন
- Load Balancer কেন দরকার, কীভাবে কাজ করে, আর তার নিজের SPOF কীভাবে দূর করা যায়, সেটা বলতে পারবেন।
- Web Server থেকে Database আলাদা করার কারণ আর সুবিধা ব্যাখ্যা করতে পারবেন।
- Multiple Web Server দিয়ে কেন আর কীভাবে horizontal scale করতে হয়, সেটা বোঝাতে পারবেন।
- Stateless server design এর মানে কী, আর কেন এটা ছাড়া সহজে scale করা যায় না, সেটা বলতে পারবেন।
- Session Store (Redis) কেন আলাদা রাখা হয়, আর shared state এর সমস্যা কীভাবে মেটে, সেটা ব্যাখ্যা করতে পারবেন।
- একটা architecture diagram দেখে SPOF খুঁজে বের করতে পারবেন।
০৩ এর পর যা আসছে...
এই স্টেজে আমরা Web Layer scale করলাম। কিন্তু database এখনো একটাই। এখন এটাই SPOF, আর এটাই bottleneck। স্টেজ ০৩ এ আমরা ডেটা লেয়ার scale করবো, Replication আর Caching দিয়ে।