Skip to content

lahin31/system-design-bangla

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻŦāĻžāĻ‚āĻ˛āĻž

āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻāĻ° āĻŽā§ŒāĻ˛āĻŋāĻ• āĻœāĻŋāĻ¨āĻŋāĻ¸āĻ—ā§āĻ˛ā§‹ āĻ¨āĻŋā§Ÿā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšā§Ÿā§‡āĻ›ā§‡āĨ¤

āĻ†āĻŽāĻŋ āĻ¸āĻžāĻœā§‡āĻ¸ā§āĻŸ āĻ•āĻ°āĻŦā§‹ āĻ¯āĻ–āĻ¨ āĻ†āĻŽāĻžāĻ° āĻ¸āĻŦ āĻŸāĻĒāĻŋāĻ• āĻ˛ā§‡āĻ–āĻž āĻšā§Ÿā§‡ āĻ¯āĻžāĻŦā§‡ āĻ¤āĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻžāĻ°āĻž āĻšāĻžāĻ‡āĻ˛ā§‡ āĻ•āĻžāĻ¨ā§āĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ•āĻ°āĻŦā§‡āĻ¨

āĻāĻ‡ āĻŸāĻŋāĻ‰āĻŸā§‹āĻ°āĻŋā§ŸāĻžāĻ˛ āĻāĻ° āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻœāĻŋāĻ¨āĻŋāĻ¸āĻ—ā§āĻ˛ā§‹āĻ° āĻ§āĻžāĻ°āĻŖāĻž āĻĻā§‡ā§ŸāĻžāĨ¤ āĻ­āĻžāĻ˛ā§‹ āĻ˛āĻžāĻ—āĻ˛ā§‡ star, watch āĻ•āĻŋāĻ‚āĻŦāĻž fork āĻ•ā§āĻ˛āĻŋāĻ• āĻ•āĻ°ā§‡ āĻ°āĻžāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

System Design Wallpaper

āĻ¸ā§‚āĻšāĻŋāĻĒāĻ¤ā§āĻ°

Section 1: System Design

āĻ†āĻŽāĻ°āĻž āĻ¯āĻ–āĻ¨ āĻ•ā§‹āĻ¨ āĻāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒ āĻ•āĻ°āĻ¤ā§‡ āĻ¯āĻžāĻ‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻŽā§‡āĻ¨ā§‡ āĻšāĻ˛āĻ¤ā§‡ āĻšā§Ÿ, āĻ¤āĻžāĻ° āĻ•āĻžāĻ°āĻŖ āĻšāĻ˛ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡ āĻ•ā§‹āĻ¨ āĻāĻ• āĻ¸āĻŽā§Ÿ āĻĨā§‡āĻ•ā§‡ āĻ¯āĻĻāĻŋ āĻĒā§āĻ°āĻšā§āĻ° āĻŽāĻžāĻ¨ā§āĻˇ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻļā§āĻ°ā§ āĻ•āĻ°āĻ¤ā§‡ āĻĨāĻžāĻ•ā§‡, āĻ¤āĻ–āĻ¨ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ¯āĻžāĻ¤ā§‡ āĻĒā§āĻ°āĻšā§āĻ° āĻ˛ā§‹āĻĄ āĻ­āĻžāĻ˛ā§‹āĻ­āĻžāĻŦā§‡ āĻ¨āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ•ā§‹āĻ¨ āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻ•āĻžāĻ¨ā§‡āĻ•āĻļāĻ¨ āĻ¨āĻˇā§āĻŸ āĻŦāĻž āĻĒāĻžāĻ°āĻĢāĻ°āĻŽā§‡āĻ¨ā§āĻ¸ āĻĄāĻžāĻ‰āĻ¨ āĻšāĻ“ā§ŸāĻž āĻ›āĻžā§œāĻž āĻ¸ā§‡āĻœāĻ¨ā§āĻ¯āĨ¤ āĻ¸ā§‡āĻ‡ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻ•ā§‡ āĻŦāĻ˛āĻž āĻšā§Ÿ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨āĨ¤

(āĻāĻ‡ āĻ¸ā§āĻĒā§‡āĻ¸āĻŋāĻĢāĻŋāĻ• āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻŽā§‚āĻ˛āĻ¤ āĻŦā§āĻ¯āĻžāĻ•āĻāĻ¨ā§āĻĄ āĻ‡āĻžā§āĻœāĻŋāĻ¨āĻŋā§ŸāĻžāĻ°āĻŋāĻ‚ āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒā§ƒāĻ•ā§āĻ¤āĨ¤)

Section 2: Database Engineering

āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽā§Ÿ āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻ¸ āĻ–ā§āĻŦāĻ‡ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻŦāĻŋāĻˇā§ŸāĨ¤ āĻ•ā§‹āĻ¨ āĻ•ā§‹āĻ¨ āĻ°āĻ•āĻŽā§‡āĻ° āĻāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨ āĻ•ā§‹āĻ¨ āĻ°āĻ•āĻŽā§‡āĻ° āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦā§‡āĻ¨, āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ° āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•āĻšāĻžāĻ° āĻ•ā§‡āĻŽāĻ¨, āĻŸā§‡āĻŦāĻŋāĻ˛ āĻ•āĻ˛āĻžāĻŽ āĻāĻ° āĻĄā§‡āĻŸāĻž āĻŸāĻžāĻ‡āĻĒ, āĻŸā§‡āĻŦāĻŋāĻ˛ size āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻœāĻžāĻ¨āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĻāĻ°āĻ•āĻžāĻ°āĨ¤

āĻāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽā§Ÿ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻœ āĻ…āĻ¨ā§āĻ¯āĻžā§Ÿā§€ āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻ¸ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšā§ŸāĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤, āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻĻā§āĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻ¸ āĻŦā§āĻ¯āĻžāĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•āĻŋ - SQL(āĻ°āĻŋāĻ˛ā§‡āĻļāĻ¨āĻžāĻ˛) āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻ¸ āĻāĻŦāĻ‚ NoSQL(āĻ¨āĻ¨-āĻ°āĻŋāĻ˛ā§‡āĻļāĻ¨āĻžāĻ˛) āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻ¸āĨ¤ āĻ†āĻŽāĻ°āĻž āĻ•ā§‡āĻŽāĻ¨ āĻŦāĻž āĻ•ā§‹āĻ¨ āĻ§āĻ°āĻŖā§‡āĻ° āĻĄāĻžāĻŸāĻž āĻˇā§āĻŸā§‹āĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡, āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻˇā§āĻŸā§‹āĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻœā§‡āĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻĒā§āĻ°ā§Ÿā§‹āĻœāĻ¨ āĻ…āĻ¨ā§āĻ¯āĻžā§Ÿā§€ āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻ¸ āĻŦāĻžāĻ›āĻžāĻ‡ āĻ•āĻ°āĻ¤ā§‡ āĻšā§ŸāĨ¤ āĻĄāĻžāĻŸāĻžāĻ° āĻ§āĻ°āĻ¨ āĻ…āĻ¨ā§āĻ¯āĻžā§Ÿā§€ āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻ¸āĻ—ā§āĻ˛ā§‹ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ­āĻŋāĻ¨ā§āĻ¨ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻĻāĻŋā§Ÿā§‡ āĻĨāĻžāĻ•ā§‡āĨ¤

SQL NoSQL
āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĄāĻžāĻŸāĻž āĻ¸ā§āĻŸā§‹āĻ° āĻ•āĻ°āĻž āĻšā§Ÿ, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¸āĻžāĻ°āĻŋ āĻāĻ•āĻŸāĻŋ āĻāĻ¨ā§āĻŸāĻŋāĻŸāĻŋ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ•āĻ˛āĻžāĻŽ āĻāĻ•āĻŸāĻŋ āĻĄāĻžāĻŸāĻžāĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¨āĻŋāĻĻā§‡āĻ°ā§āĻļāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻŸā§‡āĻŦāĻŋāĻ˛āĻ—ā§āĻ˛ā§‹āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ relation āĻĨāĻžāĻ•ā§‡āĨ¤ āĻ•ā§‹āĻ¨ āĻĒā§āĻ°āĻ•āĻžāĻ° relation āĻ›āĻžā§œāĻž āĻĄāĻžāĻŸāĻž āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨āĻ­āĻžāĻŦā§‡ āĻˇā§āĻŸā§‹āĻ° āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻ¯ā§‡āĻŽāĻ¨āĻƒ key-value, graph, document āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤
āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¸ā§āĻ•āĻŋāĻŽāĻž āĻ…āĻ¨ā§āĻ¯āĻžā§Ÿā§€ āĻĄāĻžāĻŸāĻž āĻ¸ā§āĻŸā§‹āĻ° āĻ•āĻ°āĻž āĻšā§ŸāĨ¤ (āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸ā§āĻ•āĻŋāĻŽāĻž āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻ¯āĻžā§ŸāĨ¤) NoSQL āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻĄāĻžāĻ‡āĻ¨āĻžāĻŽāĻŋāĻ• āĻ¸ā§āĻ•āĻŋāĻŽāĻž āĻĨāĻžāĻ•ā§‡, āĻ…āĻ°ā§āĻĨāĻžā§Ž āĻ¸ā§āĻ•āĻŋāĻŽāĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ¯ā§‹āĻ—ā§āĻ¯āĨ¤

🔗 āĻ†āĻ°āĻ“ āĻĒā§œā§āĻ¨: āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻ¸

Section 3: Client Server Architecture

āĻ•ā§āĻ˛āĻžā§Ÿā§‡āĻ¨ā§āĻŸ āĻ°āĻŋāĻ•ā§ā§Ÿā§‡āĻ¸ā§āĻŸ āĻ•āĻ°āĻŦā§‡ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻ•ā§‡ āĻ•āĻŋāĻ›ā§ āĻ¸ā§āĻĒā§‡āĻ¸āĻŋāĻ•āĻŋāĻĢ āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸ āĻāĻ° āĻœāĻ¨ā§āĻ¯, āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ¸ā§‡āĻ‡ āĻ°āĻŋāĻ•ā§ā§Ÿā§‡āĻ¸ā§āĻŸ āĻĒāĻžāĻ“ā§ŸāĻžāĻ° āĻĒāĻ° āĻ¸ā§‡ āĻ¤āĻžāĻ° āĻ¯āĻžāĻŦāĻ¤ā§€ā§Ÿ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸ āĻļā§‡āĻˇ āĻ•āĻ°ā§‡ āĻ•ā§āĻ˛āĻžā§Ÿā§‡āĻ¨ā§āĻŸāĻ•ā§‡ āĻ°ā§‡āĻ¸āĻĒāĻ¨ā§āĻ¸ āĻĻāĻŋā§Ÿā§‡ āĻĻāĻŋāĻŦā§‡, āĻāĻŸāĻŋ āĻ•ā§āĻ˛āĻžā§Ÿā§‡āĻ¨ā§āĻŸ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°āĨ¤

Client Server Architecture

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻŦ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĨāĻžāĻ•āĻŦā§‡ āĻ•ā§āĻ˛āĻžā§Ÿā§‡āĻ¨ā§āĻŸ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡āĨ¤

Section 4: Reliability

āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¯āĻĻāĻŋ āĻ•ā§‹āĻ¨ā§‹ āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° Fault/Error āĻĨāĻžāĻ•āĻžāĻ° āĻĒāĻ°āĻ“ āĻ­āĻžāĻ˛ā§‹āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ•āĻŋāĻ‚āĻŦāĻž āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻ¯āĻĻāĻŋ āĻŦāĻ¨ā§āĻ§ āĻ¨āĻž āĻšā§Ÿ, āĻ¤āĻŦā§‡ āĻ¸ā§‡āĻ‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ ReliableāĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻ• āĻŦāĻž āĻāĻ•āĻžāĻ§āĻŋāĻ• Fault āĻāĻ° āĻ•āĻžāĻ°āĻŖā§‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ Failure āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

Fault āĻāĻ°āĻ•āĻŽ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ•ā§‹āĻ¨ā§‹ user āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻ•ā§‡ āĻāĻŽāĻ¨āĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ›ā§‡ āĻ¯āĻžāĻ¤ā§‡ āĻ•ā§‹āĻ¨ā§‹ Failure āĻšā§Ÿā§‡ āĻ—ā§‡āĻ˛, āĻ¸ā§‡āĻŸāĻž āĻ‡āĻšā§āĻ›āĻžāĻ•ā§ƒāĻ¤ āĻŦāĻž āĻ…āĻ¨āĻŋāĻšā§āĻ›āĻžāĻ•ā§ƒāĻ¤āĻ­āĻžāĻŦā§‡āĻ“ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¤āĻ–āĻ¨ āĻ¯āĻĻāĻŋ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻŦāĻ¨ā§āĻ§ āĻ¨āĻž āĻšā§Ÿā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° Warning message āĻĻā§‡āĻ–āĻžāĻ˛ā§‹ āĻ¤āĻ–āĻ¨ āĻ¸ā§‡āĻ‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋāĻ•ā§‡ āĻ†āĻŽāĻ°āĻž Reliable āĻŦāĻ˛āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤

🔗 āĻ†āĻ°āĻ“ āĻĒā§œā§āĻ¨: āĻ°āĻŋāĻ˛āĻžāĻ‡āĻŦāĻŋāĻ˛āĻŋāĻŸāĻŋ

Section 5: Performance Metrics

Throughput

āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¸āĻŽā§Ÿā§‡āĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ¤ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¯āĻ¤āĻŸā§āĻ•ā§ āĻ•āĻžāĻœ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¸ā§‡āĻŸāĻŋ āĻšāĻšā§āĻ›ā§‡ ThroughputāĨ¤ āĻ¯ā§‡āĻŽāĻ¨, āĻĒā§āĻ°āĻ¤āĻŋ ā§§ā§Ļ āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ āĻ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¯āĻĻāĻŋ ā§Ģā§Ļ āĻŸāĻŋ API request āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¤āĻžāĻ° Throughput āĻšāĻŦā§‡ ā§Ģā§Ļ/ā§§ā§Ļ = ā§ĢāĨ¤

Time to First Byte

āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ Resource āĻœāĻ¨ā§āĻ¯ āĻ¯āĻ–āĻ¨ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻ•ā§‡ Request āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻĨā§‡āĻ•ā§‡ FIRST BYTE of Response āĻ¯āĻ–āĻ¨ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°ā§‡ āĻ¤āĻžāĻ° āĻŽāĻ§ā§āĻ¯āĻ•āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧāĻŸā§āĻ•ā§ (Request āĻ•āĻ°āĻž āĻĨā§‡āĻ•ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ FIRST BYTE āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽā§Ÿ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤) āĻšāĻ˛ Time to First ByteāĨ¤

🔗 āĻ†āĻ°āĻ“ āĻĒā§œā§āĻ¨: āĻĒāĻžāĻ°āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¸ āĻŽā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻ•ā§āĻ¸

Section 6: Distributed System

āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸāĻžāĻ° (āĻŦāĻž āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸ) āĻāĻ•āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻĢāĻ˛ā§‡ āĻ•ā§‹āĻ¨ āĻ•āĻžāĻœ āĻļā§‡āĻˇ āĻšā§Ÿ āĻāĻŦāĻ‚ End User āĻāĻ° āĻ•āĻžāĻ›ā§‡ āĻāĻ•āĻŸāĻŋ āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸāĻžāĻ° (āĻŦāĻž āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸ) āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻ†āĻ¸ā§‡, āĻ¸ā§‡āĻ‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻšāĻ˛ āĻĄāĻŋāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸā§‡āĻĄ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĨ¤ āĻāĻ‡ āĻŽā§‡āĻļāĻŋāĻ¨āĻ—ā§āĻ˛ā§‹āĻ¤ā§‡ āĻļā§‡ā§ŸāĻžāĻ°ā§āĻĄ āĻ¸ā§āĻŸā§‡āĻŸ(Shared State) āĻĨāĻžāĻ•ā§‡, āĻ•āĻ™ā§āĻ•āĻžāĻ°ā§‡āĻ¨ā§āĻŸāĻ˛āĻŋ (Concurrently) āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻāĻ•ā§‡ āĻ…āĻĒāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ Information āĻļā§‡ā§ŸāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĨ¤

āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¸āĻŽā§Ÿā§‡ Distributed System āĻāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻ˛ YouTubeāĨ¤

YouTube āĻ•ā§‡āĻ¨?

  • āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° User āĻĨā§‡āĻ•ā§‡ āĻ°āĻŋāĻ•ā§ā§Ÿā§‡āĻ¸ā§āĻŸ āĻĒāĻžā§Ÿ Video Upload āĻ•āĻŋāĻ‚āĻŦāĻž Video Watch āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯āĨ¤
  • āĻ­āĻŋāĻĄāĻŋāĻ“ āĻāĻ¨āĻ•ā§‹āĻĄāĨ¤
  • āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĨ¤

āĻāĻ—ā§āĻ˛ā§‹ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻŽāĻŋāĻ˛ā§‡ Distributed System YouTube āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĨ¤

Section 7: Domain Name System

Domain Name System āĻ•āĻŋāĻ‚āĻŦāĻž DNS āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ Human Readable Domain (āĻ¯ā§‡āĻŽāĻ¨ www.google.com) āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ IP-āĻ¤ā§‡ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°ā§‡āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻ–āĻ¨ āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°ā§‡ URL āĻŸāĻžāĻ‡āĻĒ āĻ•āĻ°ā§‡āĻ¨ (āĻ¯ā§‡āĻŽāĻ¨ www.google.com)āĨ¤ DNS āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĻā§‡ā§ŸāĻž URL āĻāĻ° IP Address āĻŦā§‡āĻ° āĻ•āĻ°āĻŦā§‡ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ‡ IP Address āĻ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ°āĻŋāĻ•ā§ā§Ÿā§‡āĻ¸ā§āĻŸ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸ āĻšāĻŦā§‡āĨ¤

āĻāĻ‡ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°āĻžāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻž āĻļā§āĻ°ā§ āĻšā§Ÿ DNS Resolver āĻĻāĻŋā§Ÿā§‡,

  • DNS Resolver āĻŽā§‚āĻ˛āĻ¤ Human Readable Domain āĻ•ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ IP-āĻ¤ā§‡ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻāĻ° ā§ŠāĻŸāĻŋ āĻĒāĻžāĻ°ā§āĻŸ āĻ†āĻ›ā§‡,

    • Root Server, āĻāĻ‡ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻŽā§‚āĻ˛āĻ¤ .com, .org, .net āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĻ° āĻ¤āĻĨā§āĻ¯ āĻ°āĻžāĻ–ā§‡ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ—ā§āĻ˛ā§‹āĻ° IP āĻ¸ā§‡āĻ‡ DNS Resolver āĻ•ā§‡ āĻĻāĻŋā§Ÿā§‡ āĻĨāĻžāĻ•ā§‡ āĻ¯ā§‡āĻŽāĻ¨ .com āĻāĻ° āĻœāĻ¨ā§āĻ¯ .com āĻāĻ° IP, .org āĻāĻ° āĻœāĻ¨ā§āĻ¯ .org āĻāĻ° IP

    • Top Level Domain Server, āĻāĻ‡ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻŽā§‚āĻ˛āĻ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ Top Level Domain (www.google.com āĻāĻ° TLD āĻšāĻ˛ .com) āĻāĻ° Authoritative Server āĻāĻ° āĻ¤āĻĨā§āĻ¯ āĻ¨āĻŋāĻœā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ°āĻžāĻ–ā§‡āĨ¤

      • āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ top-level domains: .com, .org, .gov
      • āĻĻā§‡āĻļā§€ā§Ÿ code top-level domains: .jp, .uk, .bd
    • Authoritative Server, āĻāĻ‡ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸ā§‡āĻ‡ Human Readable Domain (āĻ¯ā§‡āĻŽāĻ¨ www.google.com) āĻāĻ° IP āĻĒāĻžāĻ“ā§ŸāĻž āĻ¯āĻžā§ŸāĨ¤

DNS

🔗 āĻ†āĻ°āĻ“ āĻĒā§œā§āĻ¨: āĻĄā§‹āĻŽā§‡āĻ‡āĻ¨ āĻ¨ā§‡āĻ‡āĻŽ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ

Section 8: Transmission Control Protocol

Transmission Control Protocol āĻ…āĻĨāĻŦāĻž TCP āĻšāĻšā§āĻ›ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨ā§‡āĻŸāĻ“ā§ŸāĻžāĻ°ā§āĻ• āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻžāĻ§āĻŋāĻ• Device āĻāĻ•ā§‡ āĻ…āĻĒāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽā§‡āĻ¸ā§‡āĻœ āĻ†āĻĻāĻžāĻ¨-āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

TCP āĻ•ā§‡ Reliable āĻŦāĻ˛āĻž āĻšā§Ÿ āĻ•āĻžāĻ°āĻŖ āĻ¯āĻ¤āĻ•ā§āĻˇāĻŖ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸āĻ—ā§āĻ˛ā§‹ āĻāĻ•ā§‡ āĻ…āĻĒāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽā§‡āĻ¸ā§‡āĻœ āĻ…āĻĻāĻžāĻ¨-āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻļā§‡āĻˇ āĻšāĻŦā§‡ āĻ¨āĻž āĻ¤āĻ¤āĻ•ā§āĻˇāĻ¨ connection āĻŦāĻ¨ā§āĻ§ āĻšāĻŦā§‡ āĻ¨āĻžāĨ¤

Transmission āĻļā§āĻ°ā§ āĻšāĻ“ā§ŸāĻžāĻ° āĻĒā§‚āĻ°ā§āĻŦā§‡ TCP 3-way-handshake āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ connection established āĻ•āĻ°ā§‡āĨ¤ āĻāĻŸāĻŋ ā§ŠāĻŸāĻŋ āĻ¸ā§āĻŸā§‡āĻĒā§‡ āĻšā§Ÿā§‡ āĻĨāĻžāĻ•ā§‡,

  • SYN (synchronize): āĻāĻ‡ flag āĻĻā§āĻŦāĻžāĻ°āĻž TCP āĻ•āĻžāĻ¨ā§‡āĻ•āĻļāĻ¨ establish āĻ•āĻ°āĻžāĻ° āĻ°āĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āĻŸ āĻ•āĻ°āĻž āĻšā§ŸāĨ¤
  • SYN-ACK (synchronize-acknowledge): āĻāĻ‡ flag āĻ•āĻžāĻ¨ā§‡āĻ•āĻļāĻ¨ establish āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšā§ŸāĨ¤
  • ACK (acknowledge): āĻāĻ‡ flag āĻĻā§āĻŦāĻžāĻ°āĻž āĻ•āĻžāĻ¨ā§‡āĻ•āĻļāĻ¨ establish āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻ“ā§ŸāĻžāĻ° acknowledge āĻ•āĻ°āĻž āĻšā§ŸāĨ¤

āĻāĻ‡ 3-way-handshake āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§‡ Device'āĻ—ā§āĻ˛ā§‹(āĻ•ā§āĻ˛āĻžā§Ÿā§‡āĻ¨ā§āĻŸ-āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°) āĻāĻ•ā§‡ āĻ…āĻĒāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽā§‡āĻ¸ā§‡āĻœ āĻ†āĻĻāĻžāĻ¨-āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡ āĻ•āĻŋ āĻ¨āĻžāĨ¤

TCP Reliability āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ Acknowledgments āĻāĻŦāĻ‚ Retransmissions āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ TCP āĻ¤ā§‡ āĻŽā§‚āĻ˛āĻ¤ āĻ¯āĻ–āĻ¨ āĻ•ā§āĻ˛āĻžā§Ÿā§‡āĻ¨ā§āĻŸ āĻĄā§‡āĻŸāĻž send āĻ•āĻ°ā§‡ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ°āĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āĻŸ āĻŸāĻŋ āĻ•ā§‡ Acknowledge āĻ•āĻ°ā§‡āĨ¤ āĻ•ā§āĻ˛āĻžā§Ÿā§‡āĻ¨ā§āĻŸ āĻ¯āĻĻāĻŋ Acknowledge āĻ¨āĻž āĻĒāĻžā§Ÿ āĻ¤āĻ–āĻ¨ āĻ•ā§āĻ˛āĻžā§Ÿā§‡āĻ¨ā§āĻŸ āĻ†āĻŦāĻžāĻ° āĻ°āĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āĻŸ Retransmission āĻ•āĻ°āĻŦā§‡āĨ¤ āĻāĻ°āĻ•āĻŽ Reliability āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻšā§Ÿā§‡ āĻĨāĻžāĻ•ā§‡āĨ¤

tcp

TCP āĻŽā§‚āĻ˛āĻ¤ Networking āĻāĻ° OSI Model āĻāĻ° Practical FormāĨ¤ āĻāĻŸāĻŋ Transport Layer āĻĨā§‡āĻ•ā§‡ āĻļā§āĻ°ā§ āĻšā§Ÿ āĻāĻŦāĻ‚ Application Layer āĻ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤

HTTP, Web Socket, FTP āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻŽā§‚āĻ˛āĻ¤ TCP āĻ¤ā§‡ āĻšāĻ˛ā§‡āĨ¤

Section 9: User Datagram Protocol

UDP āĻŽā§‚āĻ˛āĻ¤ OSI Model āĻāĻ° Transport Layer-āĻ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤ TCP āĻāĻ° āĻŽāĻ¤ āĻāĻŸāĻŋ reliable āĻ¨āĻžāĨ¤ āĻāĻ¤ā§‡ āĻ•ā§‹āĻ¨ā§‹ 3-way handshake āĻ¤ā§ˆāĻ°ā§€ āĻšā§Ÿ āĻ¨āĻžāĨ¤ āĻāĻŸāĻŋ āĻŽā§‚āĻ˛āĻ¤ Low Latency āĻāĻŦāĻ‚ unreliable connection āĻ¤ā§ˆāĻ°ā§€ āĻ•āĻ°ā§‡āĨ¤

UDP Process to Process communication establish āĻ•āĻ°ā§‡āĨ¤

TCP āĻ¤ā§‡ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ 3-way handshake āĻ¤ā§ˆāĻ°ā§€āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ reliable connection āĻ¤ā§ˆāĻ°ā§€ āĻšā§Ÿ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ‡ 3-way handshake āĻ¤ā§ˆāĻ°ā§€ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻŽā§Ÿā§‡āĻ° āĻĒā§āĻ°ā§Ÿā§‹āĻœāĻ¨ āĻšā§Ÿ āĻ¸ā§‡āĻœāĻ¨ā§āĻ¯ performance āĻ•āĻŽ āĻĒāĻžāĻ“ā§ŸāĻž āĻ¯āĻžā§ŸāĨ¤ Performance āĻāĻ° āĻ•āĻĨāĻž āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻ˛ā§‡ UDP āĻāĻ•āĻŸāĻŋ better choiceāĨ¤

UDP āĻ¤ā§‡ āĻ•ā§‹āĻ¨ā§‹ Error checking āĻšā§Ÿ āĻ¨āĻžāĨ¤

udp

Section 10: HTTP, TLS and HTTPS

HTTP āĻ…āĻ°ā§āĻĨāĻžā§Ž Hyper Text Transfer Protocol, HTTP āĻāĻ• āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡, āĻ¯āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ Web Browser āĻāĻŦāĻ‚ Web Server āĻ¨āĻŋāĻœā§‡āĻĻā§‡āĻ° āĻ­āĻŋāĻ¤āĻ° communication āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻāĻŸāĻŋ āĻāĻ• āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° set of rules āĻ¯āĻž āĻĄā§‡āĻŸāĻž āĻ•ā§āĻ˛āĻžā§Ÿā§‡āĻ¨ā§āĻŸ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻĒāĻžāĻ āĻžāĻ¨ā§‹ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°ā§‡āĨ¤ āĻĄā§‡āĻŸāĻž āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ Text, Image āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤ āĻ•ā§āĻ˛āĻžā§Ÿā§‡āĻ¨ā§āĻŸ āĻāĻŦāĻ‚ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ° āĻĄā§‡āĻŸāĻž āĻ†āĻĻāĻžāĻ¨ āĻĒā§āĻ°āĻ§āĻžāĻ¨ plain-text āĻ āĻšā§Ÿā§‡ āĻĨāĻžāĻ•ā§‡, āĻāĻ° āĻĢāĻ˛ā§‡ HTTP secured āĻ¨āĻžāĨ¤

TLS āĻ•āĻŋāĻ‚āĻŦāĻž Transport Layer Security, āĻāĻŸāĻŋ āĻšāĻ˛ā§‹ Cryptographic Protocol āĻ¯āĻž āĻŽā§‚āĻ˛āĻ¤ communication āĻ¸ā§āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšā§ŸāĨ¤ āĻāĻŸāĻŋ āĻĄāĻžāĻŸāĻž āĻāĻ¨āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡ āĻĄāĻžāĻŸāĻž āĻ•ā§āĻ˛āĻžā§Ÿā§‡āĻ¨ā§āĻŸ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻŸā§āĻ°āĻžāĻ¨ā§āĻ¸āĻŽāĻŋāĻŸ āĻšāĻ“ā§ŸāĻžāĻ° āĻ¸āĻŽā§ŸāĨ¤

HTTPS āĻ…āĻ°ā§āĻĨāĻžā§Ž Hyper Text Transfer Protocol Secure, āĻāĻŸāĻŋ āĻ¨āĻŋāĻœā§‡ HTTP āĻāĻ° āĻ¸āĻ•āĻ˛ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸ āĻŦāĻšāĻ¨ āĻ•āĻ°ā§‡ āĻļā§āĻ§ā§ SSL/TLS āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡, āĻ•ā§āĻ˛āĻžā§Ÿā§‡āĻ¨ā§āĻŸ āĻāĻŦāĻ‚ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĄā§‡āĻŸāĻž āĻŸā§āĻ°āĻžāĻ¨ā§āĻ¸āĻĢāĻžāĻ° Encrypted āĻšā§Ÿā§‡ āĻĨāĻžāĻ•ā§‡āĨ¤

http and https

🔗 āĻ†āĻ°āĻ“ āĻĒā§œā§āĻ¨: āĻāĻ‡āĻšāĻŸāĻŋāĻŸāĻŋāĻĒāĻŋ, āĻŸāĻŋāĻāĻ˛āĻāĻ¸ āĻāĻŦāĻ‚ āĻāĻ‡āĻšāĻŸāĻŋāĻŸāĻŋāĻĒāĻŋ'āĻāĻ¸

Section 11: What happens when you type a URL in your browser

what happens

(āĻ›āĻŦāĻŋāĻŸāĻŋ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸ āĻĨā§‡āĻ•ā§‡ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž)āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ° āĻāĻ° Address Bar āĻ URL āĻŸāĻžāĻ‡āĻĒ āĻ•āĻ°ā§‡ enter press āĻ•āĻ°āĻŦā§‡āĻ¨, āĻ†āĻĒāĻ¨āĻžāĻ° āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ° āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ°āĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āĻŸāĻŸāĻŋāĻ•ā§‡ DNS āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ āĻĒāĻžāĻ āĻŋā§Ÿā§‡ āĻĻāĻŋāĻŦā§‡ āĻ¤āĻžāĻ°āĻĒāĻ° āĻĻā§‡āĻ–āĻŦā§‡ DNS cache āĻāĻ° āĻ­āĻŋāĻ¤āĻ° āĻ¸ā§‡āĻ‡ URL āĻāĻ° IP āĻāĻĄā§āĻ°ā§‡āĻ¸ āĻ†āĻ›ā§‡ āĻ•āĻŋ āĻ¨āĻžāĨ¤ āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻĨāĻžāĻ•ā§‡ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ steps āĻļā§‡āĻˇ āĻ•āĻ°āĻžāĻ° āĻĒāĻ° DNS āĻ¸ā§‡āĻ‡ URL āĻāĻ° IP āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ•āĻ°āĻŦā§‡āĨ¤

āĻ¤āĻžāĻ°āĻĒāĻ° 3-way handshake āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ IP address āĻāĻ° āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻāĻ° āĻ¸āĻžāĻĨā§‡ TCP āĻ•āĻžāĻ¨ā§‡āĻ•āĻļāĻ¨ āĻ¤ā§ˆāĻ°ā§€ āĻšāĻŦā§‡āĨ¤

āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ browser TCP āĻ•āĻžāĻ¨ā§‡āĻ•āĻļāĻ¨ āĻāĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§‡ āĻ¸ā§‡āĻ‡ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ HTTP āĻ°āĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āĻŸ āĻ•āĻ°ā§‡āĨ¤

āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ°āĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āĻŸ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸ āĻ•āĻ°ā§‡ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ°ā§‡āĻ¸āĻĒāĻ¨ā§āĻ¸ āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ° āĻ¸ā§‡āĻ‡ āĻ°ā§‡āĻ¸āĻĒāĻ¨ā§āĻ¸ āĻ•ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¸ā§āĻŸā§‡āĻĒ āĻļā§‡āĻˇ āĻ•āĻ°ā§‡ āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°ā§‡ āĻĻā§‡āĻ–āĻžā§ŸāĨ¤

Section 12: High Concurrency Control

High Concurrency āĻŽāĻžāĻ¨ā§‡ āĻšāĻšā§āĻ›ā§‡, āĻ¯āĻ–āĻ¨ āĻāĻ•āĻžāĻ§āĻŋāĻ• user āĻ•āĻŋāĻ‚āĻŦāĻž āĻāĻ•āĻžāĻ§āĻŋāĻ• process āĻāĻ•āĻ‡ āĻ¸āĻŽā§Ÿ/āĻāĻ•āĻ‡ āĻŽā§āĻšā§‚āĻ°ā§āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•āĻŋāĻ‚āĻŦāĻž āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĄāĻžāĻŸāĻž modify āĻ•āĻ°āĻ¤ā§‡ āĻ¯āĻžā§ŸāĨ¤ āĻāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ…āĻ¨ā§‡āĻ• āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸ā§ƒāĻˇā§āĻŸāĻŋ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻŦāĻšā§‡ā§Ÿā§‡ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻšā§āĻ›ā§‡ Data InconsistencyāĨ¤

(āĻšāĻ˛āĻŽāĻžāĻ¨)

Section 13: Functional and Non Functional Requirements

Functional Requirements

āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻŋ āĻ•āĻŋ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¸ā§‡āĻŸāĻŋ Functional Requirement āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦāĻ˛āĻž āĻ¯āĻžā§Ÿ, āĻ¸ā§‹āĻļā§āĻ¯āĻžāĻ˛ āĻŽāĻŋāĻĄāĻŋā§ŸāĻž āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡,

  • āĻĒā§‹āĻ¸ā§āĻŸ āĻ•āĻ°āĻž āĻ¯āĻžā§Ÿ
  • āĻĒā§‹āĻ¸ā§āĻŸā§‡ āĻ˛āĻžāĻ‡āĻ• āĻ•āĻ°āĻž āĻ¯āĻžā§Ÿ
  • āĻĒā§‹āĻ¸ā§āĻŸā§‡ āĻ•āĻŽā§‡āĻ¨ā§āĻŸ āĻ•āĻ°āĻž āĻ¯āĻžā§Ÿ
  • āĻĒā§‹āĻ¸ā§āĻŸā§‡ āĻĄāĻŋāĻ˛āĻŋāĻŸ āĻ•āĻ°āĻž āĻ¯āĻžā§Ÿ

āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻž āĻšāĻšā§āĻ›ā§‡ āĻāĻ• āĻāĻ•āĻŸāĻŋ Functional RequirementāĨ¤

Non Functional Requirements

āĻāĻŸāĻŋ āĻŽā§‚āĻ˛āĻ¤ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ—ā§āĻŖāĻŽāĻžāĻ¨ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ¤āĻž (Quality Characteristics), āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ:

  • Performance
  • Security
  • Cost
  • Scalability
  • Reliability

āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻž āĻšāĻšā§āĻ›ā§‡ āĻāĻ• āĻāĻ•āĻŸāĻŋ Non Functional RequirementāĨ¤

Section 14: Back Of the Envelope Estimation

āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻŸā§‡āĻ•āĻ¨āĻŋāĻ• āĻ¯āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ°āĻ•ā§‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻāĻ° Load Balancer, CDN āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦā§‹ āĻ•āĻŋ āĻ¨āĻž āĻ¤āĻžāĻ° āĻ†āĻ¨ā§āĻŽāĻžāĻ¨āĻŋāĻ• āĻ§āĻžāĻ°āĻ¨āĻž āĻšāĻŋāĻ¸āĻžāĻŦ āĻ•āĻ°ā§‡ āĻŦāĻ˛ā§‡ āĻĻāĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

🔗 āĻ†āĻ°āĻ“ āĻĒā§œā§āĻ¨: āĻŦā§āĻ¯āĻžāĻ• āĻ…āĻĢ āĻĻāĻž āĻāĻ¨āĻ­ā§‡āĻ˛āĻĒ āĻāĻ¸ā§āĻŸāĻŋāĻŽā§‡āĻļāĻ¨

Section 15: Authentication and Authorization

āĻāĻ•āĻŸāĻŋ secured āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ design āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ˛ā§‡ Authentication āĻāĻŦāĻ‚ Authorization āĻœāĻžāĻ¨āĻž āĻ…āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖāĨ¤ Authentication āĻŽā§‚āĻ˛āĻ¤ identity verify āĻ•āĻ°āĻžāĻ•ā§‡ āĻŦā§āĻœāĻžā§ŸāĨ¤ āĻ†āĻŽāĻ°āĻž āĻ¯āĻ–āĻ¨ āĻ•ā§‹āĻ¨ā§‹ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻ—āĻŋā§Ÿā§‡ āĻ‡āĻŽā§‡āĻ‡āĻ˛ āĻāĻŦāĻ‚ āĻĒāĻžāĻ¸āĻ“ā§ŸāĻžāĻ°ā§āĻĄ āĻĻāĻŋā§Ÿā§‡ āĻ˛āĻ—āĻ‡āĻ¨ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻŋ, āĻ¸ā§‡āĻ‡ āĻ‡āĻŽā§‡āĻ‡āĻ˛ āĻ†āĻ° āĻĒāĻžāĻ¸āĻ“ā§ŸāĻžāĻ°ā§āĻĄ āĻ­ā§‡āĻ°āĻŋāĻĢāĻžāĻ‡ āĻ•āĻ°ā§‡ āĻšāĻšā§āĻ›ā§‡ AuthenticationāĨ¤

Authorization āĻšāĻ˛ā§‹ āĻ•ā§‹āĻ¨ā§‹ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ user āĻāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡ āĻ•āĻŋ āĻ¨āĻž āĻ¤āĻž āĻŦā§āĻāĻžā§ŸāĨ¤ āĻ¯ā§‡āĻŽāĻ¨ āĻ•ā§‹āĻ¨ā§‹ āĻāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ API āĻĨāĻžāĻ•ā§‡ āĻ¯āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§ā§° āĻāĻĄāĻŽāĻŋāĻ¨āĻŋāĻ¸ā§āĻŸā§āĻ°ā§‡āĻŸāĻ° āĻŽāĻžāĻ¨ā§āĻˇ āĻ›āĻžā§œāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡ āĻ¨āĻž, āĻāĻ–āĻ¨ āĻ¯āĻĻāĻŋ āĻ•ā§‡āĻ‰ āĻāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžā§Ÿ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¸ā§‡āĻ‡ āĻŽāĻžāĻ¨ā§āĻˇāĻŸāĻž Authorize āĻ†āĻ›ā§‡ āĻ•āĻŋ āĻ¨āĻž āĻ¸ā§‡āĻŸāĻžāĻ‡ āĻ¯āĻžāĻšāĻžāĻ‡ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ AuthorizationāĨ¤

🔗 āĻ†āĻ°āĻ“ āĻĒā§œā§āĻ¨: āĻ…āĻĨā§‡āĻ¨āĻŸāĻŋāĻ•ā§‡āĻļāĻ¨ āĻāĻŦāĻ‚ āĻ…āĻĨāĻ°āĻŋāĻœāĻžāĻļāĻ¨

Section 16: Stateful and Stateless Architecture

Stateful

āĻāĻ‡ āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°ā§‡ āĻĄā§‡āĻŸāĻž Store āĻāĻŦāĻ‚ Maintain Application āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻšā§Ÿā§‡ āĻĨāĻžāĻ•ā§‡āĨ¤ FTTP āĻšāĻ˛ StatefulāĨ¤

āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻœā§€āĻŦāĻ¨ā§‡ Stateful āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ° āĻāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻ˛ Web SocketāĨ¤ Web Socket āĻŽā§‚āĻ˛āĻ¤ bidirectional, full-duplex protocolāĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ Server āĻĄā§‡āĻŸāĻž store āĻ•āĻ°ā§‡ āĻ°āĻžāĻ–ā§‡, āĻ¯āĻžāĻ¤ā§‡ Client āĻ¸āĻŦāĻ¸āĻŽā§Ÿ Server āĻĨā§‡āĻ•ā§‡ āĻĄā§‡āĻŸāĻž āĻĒāĻžā§ŸāĨ¤

Stateless

āĻāĻ‡ āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°ā§‡ āĻĄā§‡āĻŸāĻž Store āĻāĻŦāĻ‚ Maintain Application āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻšā§Ÿ āĻ¨āĻž āĻŦāĻ°āĻ‚ āĻ•ā§‹āĻ¨ā§‹ Database āĻŦāĻž Cache āĻ āĻ¸ā§āĻŸā§‹āĻ° āĻāĻŦāĻ‚ āĻŽā§‡āĻ‡āĻ¨āĻŸā§‡āĻ‡āĻ¨ āĻšā§ŸāĨ¤ HTTP āĻšāĻ˛ StatelessāĨ¤

HTTP āĻ¸āĻŦāĻ¸āĻŽā§Ÿ Stateless Architecture, āĻ•āĻžāĻ°āĻŖ āĻ•ā§‹āĻ¨ā§‹ protected resource āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¸āĻŦāĻ¸āĻŽā§Ÿ request āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽā§Ÿ cookie/token āĻ¸āĻžāĻĨā§‡ āĻĻāĻŋāĻ¤ā§‡ āĻšā§ŸāĨ¤ server āĻ•āĻ–āĻ¨ā§‹ cookie/token āĻ¸ā§āĻŸā§‹āĻ° āĻ•āĻ°ā§‡ āĻ°āĻžāĻ–ā§‡ āĻ¨āĻžāĨ¤

🔗 āĻ†āĻ°āĻ“ āĻĒā§œā§āĻ¨: āĻ¸ā§āĻŸā§‡āĻŸāĻ˛ā§‡āĻ¸-āĻ¸ā§āĻŸā§‡āĻŸāĻĢā§āĻ˛ āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°

Section 17: Proxy

āĻ•ā§āĻ˛āĻžā§Ÿā§‡āĻ¨ā§āĻŸ āĻ¯āĻ–āĻ¨ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻ•ā§‡ āĻ°āĻŋāĻ•ā§ā§Ÿā§‡āĻ¸ā§āĻŸ āĻĒāĻžāĻ āĻžāĻ¨ā§‹āĻ° āĻ¸āĻŽā§Ÿ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻ•ā§‡ āĻ°āĻŋāĻ•ā§ā§Ÿā§‡āĻ¸ā§āĻŸ āĻ¨āĻž āĻ•āĻ°ā§‡ āĻ…āĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻ°ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ°āĻŋāĻ•ā§ā§Ÿā§‡āĻ¸ā§āĻŸ āĻ•āĻ°āĻ˛ā§‡, āĻ¸ā§‡āĻ‡ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸ āĻšāĻšā§āĻ›ā§‡ āĻĒā§āĻ°āĻ•ā§āĻ¸āĻŋ āĻāĻŦāĻ‚ āĻ¯ā§‡ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻĻāĻŋā§Ÿā§‡ āĻ°āĻŋāĻ•ā§ā§Ÿā§‡āĻ¸ā§āĻŸ āĻ•āĻ°āĻŦā§‡ āĻ¸ā§‡āĻŸāĻž āĻšāĻšā§āĻ›ā§‡ āĻĒā§āĻ°āĻ•ā§āĻ¸āĻŋ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĨ¤

āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻœā§€āĻŦāĻ¨ā§‡ āĻĒā§āĻ°āĻ•ā§āĻ¸āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻšā§āĻ›ā§‡ NGINXāĨ¤

🔗 āĻ†āĻ°āĻ“ āĻĒā§œā§āĻ¨: āĻĒā§āĻ°āĻ•ā§āĻ¸āĻŋ

Section 18: REST Api

REST Api āĻœāĻžāĻ¨āĻžāĻ° āĻĒā§‚āĻ°ā§āĻŦā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦā§āĻāĻ¤ā§‡ āĻšāĻŦā§‡ āĻ°ā§‡āĻ¸ā§āĻŸ(REST) āĻŽāĻžāĻ¨ā§‡ āĻ•āĻŋ, REST āĻŽāĻžāĻ¨ā§‡ āĻšāĻ˛ Representational State Transfer āĻ¯āĻžāĻ° āĻŽāĻžāĻ¨ā§‡ āĻĻāĻžā§œāĻžā§Ÿ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°āĻžāĻ˛ āĻ¸ā§āĻŸāĻžāĻ‡āĻ˛ āĻ¯āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšā§Ÿ āĻ¸ā§āĻŸā§‡āĻŸ āĻŸā§āĻ°āĻžāĻ¨ā§āĻ¸āĻĢāĻžāĻ° āĻāĻ° āĻœāĻ¨ā§āĻ¯āĨ¤ āĻāĻ–āĻ¨ REST Api āĻšāĻ˛, āĻāĻ• āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻāĻĒāĻŋāĻ†āĻ‡ āĻ•āĻ¨āĻ­ā§‡āĻ¨āĻļāĻ¨ āĻ¯āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšā§Ÿ āĻĻā§āĻŸāĻŋ āĻāĻ¨ā§āĻĄ(āĻ¯ā§‡āĻŽāĻ¨āĻƒ āĻ•ā§āĻ˛āĻžā§Ÿā§‡āĻ¨ā§āĻŸ āĻāĻŦāĻ‚ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°) āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸ā§āĻŸā§‡āĻŸ āĻŸā§āĻ°āĻžāĻ¨ā§āĻ¸āĻĢāĻžāĻ° āĻ•āĻ°āĻžāĻ•ā§‡ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯āĨ¤

āĻ¸ā§āĻŸā§‡āĻŸ āĻŸā§āĻ°āĻžāĻ¨ā§āĻ¸āĻĢāĻžāĻ° āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻ•āĻŋāĻ›ā§ āĻ¸ā§āĻĒā§‡āĻ¸āĻŋāĻĢāĻŋāĻ• HTTP Methods āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšā§Ÿ, GET, POST, PUT, PATCH & DELETE, āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŽā§āĻ¯āĻžāĻĨā§‹āĻĄā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻœāĻžāĻ¨āĻ¤ā§‡ REST Api āĻ¸ā§‡āĻ•āĻļāĻ¨ā§‡ āĻ•ā§āĻ˛āĻŋāĻ• āĻ•āĻ°ā§āĻ¨āĨ¤

🔗 āĻ†āĻ°āĻ“ āĻĒā§œā§āĻ¨: āĻ°ā§‡āĻ¸ā§āĻŸ āĻāĻĒāĻŋāĻ†āĻ‡

Section 19: Scalability

āĻ¸ā§āĻ•ā§‡āĻ˛ā§‡āĻŦāĻŋāĻ˛āĻŋāĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻžāĻ•ā§‡ āĻŦā§āĻāĻžā§Ÿ āĻ¯āĻ–āĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻŸā§āĻ°āĻžāĻĢāĻŋāĻ•ā§‡āĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻŦāĻžā§œāĻ¤ā§‡ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦāĻ˛āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻāĻ•āĻŸāĻŋ āĻ“ā§Ÿā§‡āĻŦāĻ¸āĻžāĻ‡āĻŸā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻāĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻ°āĻŋāĻ•ā§ā§Ÿā§‡āĻ¸ā§āĻŸ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻœ āĻĨā§‡āĻ•ā§‡ ā§Ģ āĻŽāĻžāĻ¸ āĻĒāĻ° āĻ°āĻŋāĻ•ā§ā§Ÿā§‡āĻ¸ā§āĻŸ ā§¨ āĻ—ā§āĻŖ āĻšā§Ÿā§‡ āĻ—ā§‡āĻ˛ āĻ¤āĻžāĻ° āĻ āĻŋāĻ• āĻ†āĻ°āĻ“ ā§Ģ āĻŽāĻžāĻ¸ āĻĒāĻ° āĻ°āĻŋāĻ•ā§ā§Ÿā§‡āĻ¸ā§āĻŸ ā§Ē āĻ—ā§āĻŖ āĻšā§Ÿā§‡ āĻ—ā§‡āĻ˛, āĻāĻ•āĻŸāĻž āĻ¸āĻŽā§Ÿ āĻĻā§‡āĻ–āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻāĻ¤ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻ°āĻŋāĻ•ā§ā§Ÿā§‡āĻ¸ā§āĻŸ āĻ˛ā§‹āĻĄ āĻ¨āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°āĻ›ā§‡ āĻ¨āĻž, āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§āĻ•ā§‡āĻ˛ āĻ•āĻ°āĻžāĻ•ā§‡ āĻ¸ā§āĻ•ā§‡āĻ˛ā§‡āĻŦāĻŋāĻ˛āĻŋāĻŸāĻŋ āĻŦāĻ˛ā§‡āĨ¤

āĻ¸ā§āĻ•ā§‡āĻ˛ā§‡āĻŦāĻŋāĻ˛āĻŋāĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ 2 āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ°, āĻ­āĻžāĻ°ā§āĻŸāĻŋāĻ•āĻžāĻ˛ āĻ¸ā§āĻ•ā§‡āĻ˛ā§‡āĻŦāĻŋāĻ˛āĻŋāĻŸāĻŋ (Vertical Scalability) āĻāĻŦāĻ‚ āĻšāĻ°āĻžāĻ‡āĻœāĻ¨ā§āĻŸāĻžāĻ˛ āĻ¸ā§āĻ•ā§‡āĻ˛ā§‡āĻŦāĻŋāĻ˛āĻŋāĻŸāĻŋ (Horizontal Scalability)āĨ¤

🔗 āĻ†āĻ°āĻ“ āĻĒā§œā§āĻ¨: āĻ¸ā§āĻ•ā§‡āĻ˛ā§‡āĻŦāĻŋāĻ˛āĻŋāĻŸāĻŋ

Section 20: Database Sharding

Database Sharding āĻšāĻ˛ āĻŸā§‡āĻŦāĻŋāĻ˛ āĻĨā§‡āĻ•ā§‡ āĻĄā§‡āĻŸāĻž āĻĒā§ƒāĻĨāĻ• āĻ•āĻ°āĻžāĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦāĻ˛āĻž āĻ¯āĻžā§Ÿ, āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻĄā§‡āĻŸāĻž/row āĻ¯āĻĻāĻŋ āĻŦāĻžā§œāĻ¤ā§‡ āĻĨāĻžāĻ•ā§‡ āĻāĻŦāĻ‚ āĻāĻ¤ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻĄā§‡āĻŸāĻž/row āĻŦā§‡ā§œā§‡ āĻ—ā§‡āĻ˛ āĻ¯āĻžāĻ° āĻĢāĻ˛ā§‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡ āĻ†āĻ° āĻ¸ā§āĻŸā§‹āĻ° āĻ•āĻ°āĻž āĻ¯āĻžā§Ÿ āĻ¨āĻž āĻ¤āĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻĄā§‡āĻŸāĻžāĻ—ā§āĻ˛ā§‹āĻ•ā§‡ āĻŽā§‚āĻ˛ āĻŸā§‡āĻŦāĻŋāĻ˛ āĻĨā§‡āĻ•ā§‡ āĻĒā§ƒāĻĨāĻ• āĻ•āĻ°ā§‡ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ shard āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡ distribute āĻ•āĻ°ā§‡ āĻ°āĻžāĻ–āĻŋ āĻ¸ā§‡āĻŸāĻžāĻ‡ Database ShardingāĨ¤ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻāĻ‡ āĻĄāĻŋāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻļāĻ¨ āĻšāĻŦā§‡āĨ¤

Sharding

🔗 āĻ†āĻ°āĻ“ āĻĒā§œā§āĻ¨: āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻ¸ āĻ¸āĻžā§°ā§āĻĄāĻŋāĻ‚

Section 21: Database Replication

Database Replication āĻāĻ• āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° Strategy, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ Master Database āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ•āĻŋāĻ‚āĻŦāĻž āĻāĻ•āĻžāĻ§āĻŋāĻ• Slave Database āĻĨāĻžāĻ•āĻŦā§‡āĨ¤ Master Database āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ Insert, Delete āĻāĻŦāĻ‚ Update āĻāĻ° āĻ•āĻžāĻœ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ Slave Database āĻŽāĻ§ā§āĻ¯ā§‡ Master Database āĻāĻ° āĻĄā§‡āĻŸāĻžāĻ—ā§āĻ˛ā§‹āĻ° Copy āĻĨāĻžāĻ•āĻŦā§‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻļā§āĻ§ā§ Read Operation āĻšāĻŦā§‡āĨ¤

Database Replication

Database Replication, SQL āĻāĻŦāĻ‚ NoSQL āĻĻā§āĻŸāĻŋ āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻ•āĻ°āĻž āĻ¯āĻžā§ŸāĨ¤

🔗 āĻ†āĻ°āĻ“ āĻĒā§œā§āĻ¨: āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻ¸ āĻ°ā§‡āĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨

Section 22: Caching

Caching āĻāĻ•āĻŸāĻŋ āĻ•ā§ŒāĻļāĻ˛ āĻ¯āĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻ•ā§‹āĻ¨ Expensive Response'āĻ•ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻŽā§‡āĻŽā§‹āĻ°āĻŋāĻ¤ā§‡ āĻ°āĻžāĻ–āĻž āĻšā§Ÿ, āĻ¯āĻžāĻ¤ā§‡ āĻŦāĻžāĻ° āĻŦāĻžāĻ° āĻ†āĻ¸āĻž āĻ¸ā§‡āĻ‡ āĻ°ā§‡āĻ¸ā§āĻĒāĻ¨ā§āĻ¸ā§‡āĻ° āĻ°āĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āĻŸ āĻ•ā§‡ āĻĻā§āĻ°ā§āĻ¤ āĻ°ā§‡āĻ¸āĻĒāĻ¨ā§āĻ¸āĻŸāĻŋ āĻĻāĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻŽā§‚āĻ˛ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ (āĻ¯ā§‡āĻŽāĻ¨ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸) āĻšāĻŋāĻŸ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻ•ā§āĻ¯āĻžāĻļāĻŋāĻ‚ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻ°āĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āĻŸ āĻ•āĻ°āĻŦā§‡āĨ¤ āĻāĻ¤ā§‡ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻŸā§āĻ•ā§ āĻšāĻŦā§‡,

  • Read API āĻ°āĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āĻŸ Fast āĻšāĻŦā§‡
  • Latency Reduce āĻšāĻŦā§‡
  • Fault Tolarence āĻāĻ° āĻā§āĻāĻ•āĻŋ āĻ•āĻŽāĻŦā§‡

Caching

🔗 āĻ†āĻ°āĻ“ āĻĒā§œā§āĻ¨: āĻ•ā§āĻ¯āĻžāĻļāĻŋāĻ‚

Section 23: Content Delivery Network

Content Delivery Network āĻ…āĻĨāĻŦāĻž CDN, āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ­ā§ŒāĻ—ā§‹āĻ˛āĻŋāĻ• āĻāĻ° āĻ†āĻ¸ā§‡āĻĒāĻžāĻļā§‡ āĻĨāĻžāĻ•ā§‡, āĻ¯āĻžāĻ¤ā§‡ āĻ†āĻŽāĻ°āĻž āĻ–ā§āĻŦ āĻĻā§āĻ°ā§āĻ¤ āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āĻŸ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āĻŸāĻŸāĻŋ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ JS, CSS, Images āĻ•āĻŋāĻ‚āĻŦāĻž VideosāĨ¤

cdn

āĻ†āĻŽāĻžāĻĻā§‡āĻ° CDN āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ¯āĻĻāĻŋ India āĻ¤ā§‡ āĻĨāĻžāĻ•ā§‡ āĻ†āĻ° āĻ†āĻŽāĻ°āĻž Bangladesh āĻĨā§‡āĻ•ā§‡ content request āĻ•āĻ°āĻŋ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ–ā§āĻŦ āĻ¤āĻžā§œāĻžāĻ¤āĻžā§œāĻŋ content āĻĒāĻžāĻŦāĨ¤ āĻ•āĻžāĻ°āĻŖ āĻ¤āĻ–āĻ¨ Latency āĻ•āĻŽā§‡ āĻ¯āĻžāĻŦā§‡āĨ¤ āĻ†āĻ° āĻ†āĻŽāĻ°āĻž Bangladesh āĻĨā§‡āĻ•ā§‡ England-āĻ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻŽā§‚āĻ˛ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ†āĻ›ā§‡, āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ•āĻ¨āĻŸā§‡āĻ¨ā§āĻŸ āĻāĻ° āĻœāĻ¨ā§āĻ¯ request āĻ•āĻ°āĻ˛ā§‡ Latency āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĒāĻžāĻŦā§‡, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻĻā§āĻ‡ āĻĻā§‡āĻļā§‡āĻ° āĻĻā§‚āĻ°āĻ¤ā§āĻŦ āĻŦā§‡āĻļāĻŋāĨ¤

āĻ¯ā§‡ āĻ¯ā§‡ āĻ˛ā§‹āĻ•ā§‡āĻļāĻ¨ā§‡ CDN āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ†āĻ›ā§‡ āĻ¸ā§‡āĻ‡ āĻ˛ā§‹āĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛ā§‹āĻ•ā§‡ Point of Presence āĻŦāĻž PoP āĻŦāĻ˛ā§‡āĨ¤ āĻ¯ā§‡ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° PoP āĻāĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡ āĻ¤āĻžāĻ•ā§‡ Edge Server āĻŦāĻ˛ā§‡āĨ¤

🔗 āĻ†āĻ°āĻ“ āĻĒā§œā§āĻ¨: āĻ•āĻ¨āĻŸā§‡āĻ¨ā§āĻŸ āĻĄā§‡āĻ˛āĻŋāĻ­āĻžāĻ°āĻŋ āĻ¨ā§‡āĻŸāĻ“ā§ŸāĻžāĻ°ā§āĻ•

Section 24: Rate Limiter

Rate Limiter āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ•ā§āĻ˛āĻžā§Ÿā§‡āĻ¨ā§āĻŸ āĻĨā§‡āĻ•ā§‡ āĻ†āĻ¸āĻž āĻ°āĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āĻŸ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻ¯āĻžāĻ“ā§ŸāĻžāĻ° āĻĒā§‚āĻ°ā§āĻŦā§‡ āĻ°āĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āĻŸāĻŸāĻŋ āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛ āĻ•āĻ°āĻž āĻšā§ŸāĨ¤ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¸āĻŽā§Ÿā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻ°āĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āĻŸ Rate Limiter āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ°āĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āĻŸ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĒāĻ°āĻŋāĻŽāĻžāĻ¨ā§‡āĻ° āĻšā§‡ā§Ÿā§‡ āĻ°āĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āĻŸ āĻŦā§‡āĻļāĻŋ āĻšā§Ÿā§‡ āĻ—ā§‡āĻ˛ā§‡ Rate Limiter āĻ°āĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āĻŸāĻ—ā§āĻ˛ā§‹āĻ•ā§‡ block āĻ•āĻ°ā§‡ āĻĢā§‡āĻ˛ā§‡, āĻ¯āĻžāĻ° āĻĢāĻ˛ā§‡ āĻ°āĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āĻŸāĻ—ā§āĻ˛ā§‹ āĻ†āĻ° āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻžāĨ¤

āĻāĻ–āĻžāĻ¨ā§‡ āĻŽā§‚āĻ˛ āĻĒā§Ÿā§‡āĻ¨ā§āĻŸ ā§¨āĻŸāĻŋ, āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¸āĻŽā§Ÿ āĻāĻŦāĻ‚ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻ°āĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āĻŸāĨ¤

rate limiter

āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ›āĻŦāĻŋāĻ¤ā§‡ āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻšā§āĻ›ā§‡, āĻ°āĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āĻŸ āĻāĻŦāĻ‚ āĻ°ā§‡āĻ¸ā§āĻĒāĻ¨ā§āĻ¸ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ middleware āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ rate limiter āĻ†āĻ›ā§‡āĨ¤

🔗 āĻ†āĻ°āĻ“ āĻĒā§œā§āĻ¨: āĻ°ā§‡āĻ‡āĻŸ āĻ˛āĻŋāĻŽāĻŋāĻŸāĻžāĻ°

Section 25: CAP Theorem

āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ•āĻ¨āĻ¸ā§‡āĻĒā§āĻŸ āĻŦāĻž āĻĨāĻŋāĻ“āĻ°āĻŋ āĻ¯āĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻœāĻž āĻ¯āĻžā§Ÿ, āĻāĻ•āĻŸāĻŋ Distributed System āĻ āĻ‰āĻ˛ā§āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻĒāĻžāĻ°ā§āĻŸāĻŋ āĻĨā§‡āĻ•ā§‡ āĻĻā§āĻ‡āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻĒāĻžāĻ°ā§āĻŸāĻŋ āĻ¸āĻŦāĻ¸āĻŽā§Ÿ āĻŽā§‡āĻ¨ā§‡ āĻšāĻ˛āĻŦā§‡āĨ¤

  • C āĻŽāĻžāĻ¨ā§‡ Consistency
  • A āĻŽāĻžāĻ¨ā§‡ Availability
  • P āĻŽāĻžāĻ¨ā§‡ Partition Tolerance

Consistency āĻšāĻšā§āĻ›ā§‡ āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ°āĻžāĻ¨ā§āĻ¸ā§‡āĻ•āĻļāĻ¨ (Transection) āĻļā§‡āĻˇ āĻšāĻ“ā§ŸāĻžāĻ° āĻĒāĻ° āĻ¸āĻŦ āĻ¨ā§‹āĻĄā§‡ āĻ¸āĻŦāĻ¸āĻŽā§Ÿ consistent āĻŦāĻž āĻāĻ•āĻ‡ value āĻĨāĻžāĻ•āĻŦā§‡āĨ¤

Availability āĻŽāĻžāĻ¨ā§‡ āĻšāĻšā§āĻ›ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ read āĻāĻŦāĻ‚ write āĻ°āĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āĻŸ āĻšā§Ÿ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸(process) āĻšāĻŦā§‡ āĻ¨āĻž āĻšā§Ÿ āĻ•ā§‹āĻ¨ā§‹ message āĻĒāĻžāĻŦā§‡ āĻ¯ā§‡ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨(request) āĻĒā§āĻ°āĻ¸ā§‡āĻ¸(process) āĻšāĻšā§āĻ›ā§‡ āĻ¨āĻžāĨ¤

Partition Tolerance āĻšāĻšā§āĻ›ā§‡ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻ¨ā§‹āĻĄ āĻāĻ•ā§‡ āĻ…āĻĒāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻ¨ā§‡āĻ•āĻļāĻ¨(connection) āĻ¨āĻˇā§āĻŸ āĻšāĻ˛ā§‡āĻ“, read āĻāĻŦāĻ‚ write āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸ āĻšāĻŦā§‡āĨ¤

🔗 āĻ†āĻ°āĻ“ āĻĒā§œā§āĻ¨: āĻ•ā§āĻ¯āĻžāĻĒ āĻĨāĻŋāĻ“āĻ°āĻžāĻŽ

Section 27: Polling, Web Socket and Server-Sent Events

Polling āĻŽāĻžāĻ¨ā§‡ āĻšāĻšā§āĻ›ā§‡ client regular interval āĻ server āĻ•ā§‡ āĻŦāĻžāĻ° āĻŦāĻžāĻ° āĻĄā§‡āĻŸāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ°āĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āĻŸ āĻ•āĻ°āĻŦā§‡āĨ¤ āĻ¯ā§‡āĻŽāĻ¨, āĻ•ā§āĻ˛āĻžā§Ÿā§‡āĻ¨ā§āĻŸ āĻĒā§āĻ°āĻ¤āĻŋ ā§Ģ āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ āĻĒāĻ° āĻĒāĻ° āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ•ā§‡ āĻ°āĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āĻŸ āĻ•āĻ°āĻŦā§‡ āĻ†āĻ° āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ¤āĻžāĻ° āĻ°ā§‡āĻ¸āĻĒāĻ¨ā§āĻ¸ āĻĻāĻŋāĻŦā§‡āĨ¤

polling

Polling āĻāĻ° āĻ¸āĻŦāĻšā§‡ā§Ÿā§‡ āĻŦā§œ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻšā§āĻ›ā§‡ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ Bandwidth āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻšāĻ“ā§ŸāĻžāĨ¤

Web Socket āĻŽāĻžāĻ¨ā§‡ āĻšāĻšā§āĻ›ā§‡ Socket āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻāĻŦāĻ‚ āĻ•ā§āĻ˛āĻžā§Ÿā§‡āĻ¨ā§āĻŸ āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻ¨ā§‡āĻ•āĻļāĻ¨ āĻ¤ā§ˆāĻ°ā§€ āĻšāĻŦā§‡ āĻ¯āĻž āĻ•ā§āĻ˛āĻžā§Ÿā§‡āĻ¨ā§āĻŸ āĻŦāĻž āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ¯āĻ¤āĻ•ā§āĻˇāĻ¨ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ disconnected āĻ¨āĻž āĻšāĻšā§āĻ›ā§‡ āĻ¤āĻ¤āĻ•ā§āĻˇāĻ¨ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ•āĻžāĻ¨ā§‡āĻ•āĻļāĻ¨ āĻĨāĻžāĻ•āĻŦā§‡āĨ¤ āĻ•ā§āĻ˛āĻžā§Ÿā§‡āĻ¨ā§āĻŸ āĻāĻ–āĻžāĻ¨ā§‡ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻ•ā§‡ āĻŦāĻžāĻ° āĻŦāĻžāĻ° āĻ°āĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āĻŸ āĻ•āĻ°āĻž āĻ˛āĻžāĻ—āĻŦā§‡ āĻ¨āĻž, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ•āĻžāĻ¨ā§‡āĻ•āĻļāĻ¨ āĻ†āĻ›ā§‡ āĻ•ā§āĻ˛āĻžā§Ÿā§‡āĻ¨ā§āĻŸ āĻāĻŦāĻ‚ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸ā§‡āĻšā§‡āĻ¤ā§ āĻ•ā§‹āĻ¨ā§‹ āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° event āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻ¸āĻ‚āĻ˜āĻŸāĻŋāĻ¤ āĻšāĻ˛ā§‡ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻāĻ° āĻ°ā§‡āĻ¸āĻĒāĻ¨ā§āĻ¸ āĻ•ā§āĻ˛āĻžā§Ÿā§‡āĻ¨ā§āĻŸāĻ•ā§‡ āĻĒāĻžāĻ āĻŋā§Ÿā§‡ āĻĻāĻŋāĻŦā§‡āĨ¤ Web Socket āĻŸā§‡āĻ•āĻ¨ā§‹āĻ˛āĻœāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ Chat Application āĻŦāĻžāĻ¨āĻžāĻ¨ā§‹ āĻ¯āĻžā§ŸāĨ¤

web_socket

Web Socket āĻ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻāĻŦāĻ‚ āĻ•ā§āĻ˛āĻžā§Ÿā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻ¨ā§‡āĻ•āĻļāĻ¨ āĻ¤ā§ˆāĻ°ā§€ āĻšā§Ÿ, āĻ…āĻ°ā§āĻĨāĻžā§Ž āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ° āĻ•ā§āĻ˛āĻžā§Ÿā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ•āĻŋāĻ›ā§ āĻ‡āĻ¨āĻĢāĻ°āĻŽā§‡āĻļāĻ¨ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¯āĻžāĻ¤ā§‡ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ•ā§āĻ˛āĻžā§Ÿā§‡āĻ¨ā§āĻŸāĻ•ā§‡ āĻŸā§āĻ°ā§āĻ¯āĻžāĻ• āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋāĻ•ā§‡ Stateful Architecture āĻŦāĻ˛āĻž āĻšā§ŸāĨ¤

🔗 āĻ†āĻ°āĻ“ āĻĒā§œā§āĻ¨: āĻĒā§‹āĻ˛āĻŋāĻ‚, āĻ“ā§Ÿā§‡āĻŦ āĻ¸āĻ•ā§‡āĻŸ āĻāĻŦāĻ‚ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ¸ā§‡āĻ¨ā§āĻŸ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸāĻ¸

Section 28: Message Queue

āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻ• āĻŦāĻž āĻāĻ•āĻžāĻ§āĻŋāĻ• Producer āĻĨāĻžāĻ•āĻŦā§‡, āĻ¯āĻžāĻĻā§‡āĻ° āĻ•āĻžāĻœ āĻšāĻšā§āĻ›ā§‡ Message(āĻāĻ–āĻžāĻ¨ā§‡ message āĻŽāĻžāĻ¨ā§‡ āĻ°āĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āĻŸ) Queue āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ send āĻ•āĻ°āĻž āĻāĻŦāĻ‚ queue āĻ¸ā§‡āĻ‡ āĻ°āĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āĻŸāĻ—ā§āĻ˛ā§‹āĻ•ā§‡ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸ āĻ•āĻ°ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ consumer āĻāĻ° āĻ•āĻžāĻ›ā§‡ āĻĒāĻžāĻ āĻŋā§Ÿā§‡ āĻĻā§‡ā§ŸāĨ¤

Message Queue

āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° Throughput āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ Message Queue āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšā§ŸāĨ¤

Message Queue āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻž Task āĻ•ā§‡ Asynchronously āĻĒā§āĻ°āĻ¸ā§‡āĻ¸ āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡, āĻŽāĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ Task āĻĒā§āĻ°āĻ¸ā§‡āĻ¸ āĻšā§Ÿ āĻ¤āĻ–āĻ¨ āĻ…āĻ¨ā§āĻ¯ task āĻāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻ¨āĻžāĨ¤

āĻĒāĻĒā§āĻ˛āĻžāĻ° Streaming Service Netflix, Airbnb āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ Message Queue āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ Agoda āĻ¤āĻžāĻĻā§‡āĻ° Analytical Data, Real-time Monitoring āĻāĻ° Solution āĻāĻ° āĻœāĻ¨ā§āĻ¯ Message Queue āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ†āĻ¸āĻ›ā§‡, 1.8 trillion events āĻĒā§āĻ°āĻ¤āĻŋ āĻĻāĻŋāĻ¨ Message Queue āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸ āĻ•āĻ°ā§‡ āĻ†āĻ¸āĻ›ā§‡āĨ¤

āĻ†āĻŽāĻ°āĻž āĻ¯ā§‡ āĻ•ā§‹āĻ¨ā§‹ Food Delivery āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ•āĻĨāĻž āĻšāĻŋāĻ¨ā§āĻ¤āĻž āĻ•āĻ°āĻŋ āĻ¯āĻĻāĻŋ, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻœāĻ¨ Delivery boy āĻāĻ° āĻ˛āĻžāĻ‡āĻ­ āĻ˛ā§‹āĻ•ā§‡āĻļāĻ¨ āĻ†āĻŽāĻ°āĻž āĻ¯āĻĻāĻŋ Pooling āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ ā§Ģ āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ āĻĒāĻ° āĻĒāĻ° āĻ¨āĻŋā§Ÿā§‡ āĻĨāĻžāĻ•āĻŋ āĻāĻŦāĻ‚ āĻ•ā§‹āĻ¨ āĻ¸āĻŽā§Ÿā§‡ āĻ•ā§‹āĻ¨ āĻ˛ā§‹āĻ•ā§‡āĻļāĻ¨ā§‡ āĻ›āĻŋāĻ˛ āĻ¸ā§‡āĻŸāĻŋ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸ā§āĻŸā§‹āĻ° āĻ•āĻ°ā§‡ āĻ°āĻžāĻ–āĻŋāĨ¤ āĻāĻ•āĻœāĻ¨ āĻ‡āĻ‰āĻœāĻžāĻ° āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻšāĻŋāĻ¨ā§āĻ¤āĻž āĻ•āĻ°āĻ˛ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ āĻŋāĻ•āĻŽāĻ¤ā§‹ āĻ•āĻžāĻœ āĻ•āĻ°āĻŦā§‡, āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ¸ā§āĻŸā§‹āĻ° āĻ•āĻ°ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĨ¤

āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻāĻ•āĻœāĻ¨ āĻŽāĻžāĻ¨ā§āĻˇ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦā§‡ āĻ¨āĻžāĨ¤ āĻšāĻžāĻœāĻžāĻ° āĻšāĻžāĻœāĻžāĻ° Delivery boy āĻāĻ° āĻ˛āĻžāĻ‡āĻ­ āĻ˛ā§‹āĻ•ā§‡āĻļāĻ¨ āĻ†āĻŽāĻ°āĻž āĻ¯āĻĻāĻŋ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻ¸ā§āĻŸā§‹āĻ°ā§‡ āĻ•āĻ°ā§‡ āĻ°āĻžāĻ–āĻŋ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļ āĻ•āĻ°āĻŦā§‡āĨ¤ āĻ•āĻžāĻ°āĻŖ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° Throughput āĻ•āĻŽāĨ¤

āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ†āĻŽāĻ°āĻž Message Queue āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦāĨ¤ ā§¨ āĻŸāĻŋ āĻœāĻ¨āĻĒā§āĻ°āĻŋā§Ÿ Message Queue āĻšāĻšā§āĻ›ā§‡,

  • Kafka
  • RabbitMQ

🔗 āĻ†āĻ°āĻ“ āĻĒā§œā§āĻ¨: āĻŽā§‡āĻ¸ā§‡āĻœ āĻ•āĻŋāĻ‰

Section 30: Single Sign-On

Single Sign-On āĻ•āĻŋāĻ‚āĻŦāĻž SSO āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ Authentication MechanismāĨ¤ āĻ¯āĻž user āĻ•ā§‡ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻĒā§āĻ˛āĻžāĻŸāĻĢāĻ°ā§āĻŽ (āĻ—ā§āĻ—āĻ˛, āĻĢā§‡āĻ‡āĻ¸āĻŦā§āĻ•, āĻŸā§āĻ‡āĻŸāĻžāĻ°) āĻĻāĻŋā§Ÿā§‡ Authenticate āĻ•āĻ°ā§‡ āĻĻā§‡ā§Ÿ, āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ credential āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡āĨ¤

sso

(āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻšāĻ˛āĻŽāĻžāĻ¨)

Section 31: Elasticsearch

āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ NoSQL āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻ¸āĨ¤ āĻŽā§‚āĻ˛āĻ¤ āĻāĻŸāĻŋāĻ•ā§‡ Distributed Search āĻāĻŦāĻ‚ Aggregation Engine āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšā§ŸāĨ¤ Elasticsearch āĻāĻ° āĻ­āĻŋāĻ¤āĻ° structured āĻāĻŦāĻ‚ unstructured data āĻ¸ā§āĻŸā§‹āĻ° āĻ•āĻ°ā§‡ āĻ°āĻžāĻ–āĻž āĻ¯āĻžā§ŸāĨ¤

🔗 āĻ†āĻ°āĻ“ āĻĒā§œā§āĻ¨: āĻ‡āĻ˛āĻžāĻ¸ā§āĻŸāĻŋāĻ•āĻ¸āĻžāĻ°ā§āĻš

Section 32: Bloom Filter

Bloom Filter āĻāĻ•āĻŸāĻŋ Probabilistic Data StructureāĨ¤ Hashing āĻŸā§‡āĻ•āĻ¨āĻŋāĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ–āĻžāĻ¨ā§‡ āĻĄā§‡āĻŸāĻž insert āĻ•āĻ°āĻž āĻšā§ŸāĨ¤ āĻāĻŸāĻŋ āĻ–ā§āĻŦāĻ‡ Faster āĻāĻŦāĻ‚ āĻŽā§‡āĻŽā§‹āĻ°āĻŋ EfficientāĨ¤

Bloom Filter āĻāĻ° āĻŦā§āĻ¯āĻžāĻĒāĻžāĻ°ā§‡ āĻœāĻžāĻ¨āĻžāĻ° āĻĒā§‚āĻ°ā§āĻŦā§‡ Hashing āĻ•āĻŋ āĻœāĻžāĻ¨āĻž āĻ¨ā§‡ā§ŸāĻž āĻ¯āĻžāĻ•āĨ¤ āĻāĻ•āĻŸāĻŋ Hash Function āĻ¨āĻŋāĻœā§‡āĻ° āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°ā§‡ input āĻ¨āĻŋā§Ÿā§‡ āĻĨāĻžāĻ•ā§‡ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ‡ input āĻ•ā§‡ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸ āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻĢāĻŋāĻ•ā§āĻ¸āĻĄ length āĻāĻ° unique identifier āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ•āĻ°ā§‡āĨ¤

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ, āĻ‡āĻ¨āĻĒā§āĻŸ 'david' āĻšāĻ˛ā§‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻšāĻŦā§‡ 5

// hash function
function generateHash(table_size, user) {
  let index;
  let user_length = user.length;

  index = user_length % table_size;
  return index;
}

generateHash(10, "david"); // 5

Bloom Filter Data Structure āĻ Hash function āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ†āĻŽāĻ°āĻž set āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ specific position āĻ element insert āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ° set āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ specific element āĻ¸āĻžāĻ°ā§āĻš āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤

āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¯āĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ element āĻ¸āĻžāĻ°ā§āĻš āĻ•āĻ°āĻŋ āĻ¤āĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻĻā§āĻŸāĻŋ āĻœāĻŋāĻ¨āĻŋāĻ¸ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻŦā§‹,

  • āĻšā§Ÿ possibly yes - āĻŽāĻžāĻ¨ā§‡ element, set āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĨāĻžāĻ•āĻŦā§‡ āĻ¤āĻŦā§‡ āĻ¨āĻž āĻĨāĻžāĻ•āĻžāĻ° āĻ¸āĻžāĻŽāĻžāĻ¨ā§āĻ¯ āĻ•āĻŋāĻ›ā§ āĻ¸āĻŽā§āĻ­āĻžāĻŦāĻ¨āĻž āĻ†āĻ›ā§‡āĨ¤

  • āĻ¨āĻž āĻšā§Ÿ no - āĻŽāĻžāĻ¨ā§‡ element, set āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨āĻžāĻ‡āĨ¤

āĻāĻœāĻ¨ā§āĻ¯ āĻ¤āĻžāĻ•ā§‡ Probabilistic Data Structure āĻŦāĻ˛āĻž āĻšā§ŸāĨ¤

🔗 āĻ†āĻ°āĻ“ āĻĒā§œā§āĻ¨: āĻŦā§āĻ˛ā§āĻŽ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ°

Section 35: How OAuth2 works

OAuth2 āĻšāĻ˛ āĻāĻ• āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° Authorization Grant TechniqueāĨ¤ āĻāĻŸāĻŋ Google, Facebook āĻāĻ° āĻŽāĻ¤ āĻ“ā§Ÿā§‡āĻŦāĻ¸āĻžāĻ‡āĻŸ āĻĨā§‡āĻ•ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ information āĻ†āĻ¨āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° password āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ sensitive information āĻ›āĻžā§œāĻžāĨ¤ āĻāĻ‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ information āĻ āĻāĻ•āĻŸāĻŋ Access Token āĻĨāĻžāĻ•ā§‡ āĻ¯āĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸(āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻ“ā§Ÿā§‡āĻŦāĻ¸āĻžāĻ‡āĻŸ āĻ Login) āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‹āĨ¤

āĻāĻŸāĻŋ āĻ¯ā§‡āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡,

āĻ§āĻ°ā§āĻ¨ āĻ†āĻĒāĻ¨āĻŋ āĻ•ā§‹āĻ¨ā§‹ āĻ“ā§Ÿā§‡āĻŦāĻ¸āĻžāĻ‡āĻŸā§‡ āĻ˛āĻ—āĻ‡āĻ¨ āĻ•āĻ°āĻ›ā§‡āĻ¨āĨ¤ āĻ¸ā§‡āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻŋ Continue with Google āĻŦāĻžāĻŸāĻ¨ āĻ•ā§āĻ˛āĻŋāĻ• āĻ•āĻ°āĻ˛ā§‡āĻ¨,

  • āĻĒā§āĻ°āĻĨāĻŽā§‡ website (āĻŽāĻžāĻ¨ā§‡ āĻ•ā§āĻ˛āĻžā§Ÿā§‡āĻ¨ā§āĻŸ) Authorization Request āĻĒāĻžāĻ āĻžāĻŦā§‡ Google āĻāĻ° Authorization āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡āĨ¤
  • Google response āĻĒāĻžāĻ āĻŋā§Ÿā§‡ āĻŦāĻ˛āĻŦā§‡ Email āĻāĻŦāĻ‚ Password āĻĻā§‡ā§ŸāĻžāĻ° āĻœāĻ¨ā§āĻ¯āĨ¤
  • Client Email āĻāĻŦāĻ‚ Password āĻŸāĻžāĻ‡āĻĒ āĻ•āĻ°ā§‡ āĻ—ā§āĻ—āĻ˛ā§‡āĻ° Authorization āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻ°āĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āĻŸ āĻ•āĻ°āĻŦā§‡āĨ¤
  • Google āĻāĻ‡ Email āĻāĻŦāĻ‚ Password āĻ•ā§‡ āĻšā§‡āĻ• āĻ•āĻ°āĻŦā§‡ āĻ¯āĻĻāĻŋ āĻ āĻŋāĻ• āĻšā§Ÿ āĻ¤āĻžāĻšāĻ˛ā§‡ google āĻāĻ•āĻŸāĻŋ Access Token response āĻ†āĻ•āĻžāĻ°ā§‡ āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ•āĻ°āĻŦā§‡āĨ¤
  • āĻ¤āĻžāĻ°āĻĒāĻ° client Access Token request āĻāĻ° header āĻāĻ° āĻ¸āĻžāĻĨā§‡ attach āĻ•āĻ°ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻ°āĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĨ¤

oauth2

Section 37: High Availability best practices by Netflix

Netflix High Availability āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻŋāĻ›ā§ āĻŸāĻŋāĻĒāĻ¸ āĻļā§‡ā§ŸāĻžāĻ° āĻ•āĻ°ā§‡āĻ›āĻŋāĻ˛(āĻ¯ā§‡āĻ—ā§āĻ˛ā§‹ āĻāĻ°āĻž āĻ¨āĻŋāĻœā§‡ follow āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡) āĻ¯āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ…āĻ¨ā§‡āĻ• āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ•āĻžāĻœā§‡ āĻ˛āĻžāĻ—āĻŦā§‡,

  • Regional deployment over global ones: Deployment āĻ†āĻŽāĻ°āĻž region by region āĻ•āĻ°āĻŦā§‹, āĻ¯āĻžāĻ¤ā§‡ region āĻ impact āĻŸāĻŋ observe āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻ•ā§‹āĻ¨ā§‹ āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻ˛ā§‡ āĻ†āĻŽāĻ°āĻž Rollback āĻ•āĻ°ā§‡ āĻĒā§‚āĻ°ā§āĻŦā§‡āĻ° āĻ¸ā§āĻŸā§‡āĻŸ āĻ āĻšāĻ˛ā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‹, āĻ¤āĻ–āĻ¨ āĻ…āĻ¨ā§āĻ¯ region āĻāĻ° āĻ‰āĻĒāĻ° āĻ•ā§‹āĻ¨ā§‹ āĻ¨ā§‡āĻ—ā§‡āĻŸāĻŋāĻ­ āĻ‡āĻŽāĻĒā§āĻ¯āĻžāĻ•ā§āĻŸ āĻĒāĻ°āĻŦā§‡ āĻ¨āĻžāĨ¤

  • Use Blue/Green deployment strategy: āĻāĻ‡ strategy āĻ¤ā§‡ Deploy āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽā§Ÿ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻĻā§āĻŸāĻŋ āĻ­āĻžāĻ°ā§āĻ¸āĻ¨ āĻĨāĻžāĻ•ā§‡, Blue āĻšāĻ˛ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ­āĻžāĻ°ā§āĻ¸āĻ¨ āĻāĻŦāĻ‚ green āĻšāĻ˛ āĻ¨āĻ¤ā§āĻ¨ āĻ­āĻžāĻ°ā§āĻ¸āĻ¨āĨ¤ Green āĻ­āĻžāĻ°ā§āĻ¸āĻ¨ āĻŸā§‡āĻ¸ā§āĻŸ āĻ•āĻ°āĻž āĻšā§Ÿā§‡ āĻ—ā§‡āĻ˛ā§‡, āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ āĻŋāĻ• āĻĨāĻžāĻ•āĻ˛ā§‡ āĻ†āĻŽāĻ°āĻž Blue āĻ­āĻžāĻ°ā§āĻ¸āĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ Green āĻ­āĻžāĻ°ā§āĻ¸āĻ¨ā§‡ āĻ¨āĻŋā§Ÿā§‡ āĻ¯āĻžāĻŦāĨ¤

  • Use deployment windows: Deployment āĻ†āĻŽāĻ°āĻž office hour āĻāĻŦāĻ‚ off-peak āĻāĻ° āĻ¸āĻŽā§Ÿ āĻ•āĻ°āĻŦāĨ¤

  • Enable Chaos Monkey: āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ Tool āĻ¯āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° production āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻ•ā§‡ āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļ āĻ•āĻ°ā§‡ āĻĻāĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻ¤ā§‡ āĻ•āĻ°ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻ•āĻ¤ resilienceāĨ¤

  • Deploy exactly what you tested to production: āĻ¯ā§‡ āĻĒāĻžāĻ°ā§āĻŸ āĻāĻ° āĻŸā§‡āĻ¸ā§āĻŸāĻŋāĻ‚ āĻ•āĻ°āĻž āĻšā§Ÿ āĻ¸ā§‡āĻ‡ āĻĒāĻžāĻ°ā§āĻŸ Deploy āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

Original Post: https://netflixtechblog.medium.com/tips-for-high-availability-be0472f2599c

Section 38: Resources