HeadlinesBriefing favicon HeadlinesBriefing.com

অ্যাপ্লিকেশন নেটওয়ার্কিং বেসিক্স

ByteByteGo •
×

একটি সাধারণ পরিস্থিতি কল্পনা করুন যেখানে একটি ই-কমার্স ওয়েব অ্যাপ্লিকেশন একটি API এন্ডপয়েন্টকে কল করে যা ক্লায়েন্ট অর্ডার সম্পর্কে তথ্য ফেরত দেয়। অ্যাপ্লিকেশন স্তরে, এটি একটি খুবই সাধারণ অপারেশন মনে হয়। কিন্তু অনেক কিছু হাতের নিচে ঘটছে। প্রথমত, ক্লায়েন্ট API এন্ডপয়েন্টের সাথে সংযুক্ত IP ঠিকানার জন্য DNS কোয়েরি করে। DNS একটি নির্দিষ্ট অ্যাপ্লিকেশন সার্ভারের ঠিকানার পরিবর্তে লোড ব্যালেন্সারের ঠিকানা ফেরত দিতে পারে। তারপর অপারেটিং সিস্টেম নির্ধারণ করে যে প্যাকেটগুলিকে সেই IP ঠিকানায় কীভাবে পাঠানো উচিত। এটি তাদে স্থানীয় নেটওয়ার্ক, ইন্টারনেট সেবা প্রদানকারী (ISP) বা অন্যান্য কয়েকটি রাউটারের মাধ্যমে পাঠানোর বিকল্প বেছে নিতে পারে। চূড়ান্ত লক্ষ্য হল ডেটা প্যাকেটগুলিকে গন্তব্য নেটওয়ার্কে পৌঁছে দেওয়া। এটির জন্য সবচেয়ে সাধারণ প্রোটোকল হল HTTP। তবে, HTTP অনুরোধ পাঠানোর আগে, ক্লায়েন্টকে সাধারণত গন্তব্য সার্ভারের সাথে কোনো রূপের সংযোগ স্থাপন করতে হয়। পারমাণবিক HTTPS এর সাথে, এটি একটি TCP কানেকশন স্থাপন করার অর্থ। এই ধরনের কানেকশনে, ক্লায়েন্ট এবং সার্ভার কিছু প্রাথমিক প্যাকেট বিনিময় করে হ্যান্ডশেক করে যাতে উভয় পক্ষ জানে যে একটি কানেকশন স্থাপিত হয়েছে। তারপর ক্লায়েন্ট এবং সার্ভার TLS হ্যান্ডশেক করে। কেবল এরপরই HTTP অনুরোধ নিরাপদে পাঠানো যেতে পারে। একটি লোড ব্যালেন্সার এটি গ্রহণ করে, একটি সুস্থ অ্যাপ্লিকেশন ইনস্ট্যান্স নির্বাচন করে এবং অনুরোধ ফরওয়ার্ড করে। অ্যাপ্লিকেশন তার কাজ সম্পাদন করে এবং প্রতিক্রিয়া একই পথে পাঠায়। এটি সব নেটওয়ার্কিং-এর অন্তর্গত। তার ব্যাপক প্রকৃতির কারণে, নেটওয়ার্কিং ডেভেলপারদের জন্য একটি অত্যন্ত গুরুত্বপূর্ণ বিষয় হয়ে উঠেছে।