Instagram has a complex system architecture that allows us to have a seamless experience.
The main components of this architecture are:-
𝐆𝐚𝐭𝐞𝐰𝐚𝐲 (Auth): This is where your login information is verified to make sure that you are who you say you are.
𝐋𝐨𝐚𝐝 𝐁𝐚𝐥𝐚𝐧𝐜𝐞𝐫: This distributes traffic evenly across servers to make sure that everyone has a fast experience.
𝐑𝐞𝐚𝐝 𝐒𝐞𝐫𝐯𝐞𝐫: This handles requests for data, such as user profiles and posts.
𝐖𝐫𝐢𝐭𝐞 𝐒𝐞𝐫𝐯𝐞𝐫: This handles requests to upload data, such as photos and videos.
𝐂𝐃𝐍 (Content Delivery Network): This delivers content, such as images and videos, quickly to users.
𝐂𝐚𝐜𝐡𝐞 (Memcache): This stores data temporarily to speed up retrieval.
𝐅𝐞𝐞𝐝 𝐆𝐞𝐧𝐞𝐫𝐚𝐭𝐢𝐯𝐞 𝐒𝐞𝐫𝐯𝐢𝐜𝐞: This creates personalized feeds for each user.
𝐍𝐨𝐭𝐢𝐟𝐢𝐜𝐚𝐭𝐢𝐨𝐧 𝐒𝐞𝐫𝐯𝐞𝐫: This sends you updates and notifications.
𝐏𝐡𝐨𝐭𝐨 𝐒𝐭𝐨𝐫𝐚𝐠𝐞 (HDFS/S3): This stores your photos securely.
𝐏𝐡𝐨𝐭𝐨 𝐒𝐭𝐨𝐫𝐚𝐠𝐞 𝐑𝐞𝐩𝐥𝐢𝐜𝐚: This creates a copy of your photos for redundancy and reliability.
𝐏𝐮𝐬𝐡 𝐍𝐨𝐭𝐢𝐟𝐢𝐜𝐚𝐭𝐢𝐨𝐧 𝐭𝐨 𝐔𝐬𝐞𝐫 𝐢𝐟 𝐎𝐧𝐥𝐢𝐧𝐞: This sends you notifications if someone is online and you can chat with them.
All of these components work together to make Instagram the seamless experience.
Credit : Santosh Kumar Mishra