ওয়েব সকেট, ওয়েব ওয়ার্কার এবং সার্ভিস ওয়ার্কার প্লেটোব্লকচেন ডেটা ইন্টেলিজেন্সের মধ্যে পার্থক্য। উল্লম্ব অনুসন্ধান. আ.

ওয়েব সকেট, ওয়েব কর্মী এবং পরিষেবা কর্মীদের মধ্যে পার্থক্য

ওয়েব সকেট, ওয়েব ওয়ার্কার, সার্ভিস ওয়ার্কার... এইগুলি আপনি হয়তো পড়েছেন বা শুনেছেন। হয়তো তাদের সব না, কিন্তু সম্ভবত তাদের মধ্যে অন্তত একজন। এমনকি ফ্রন্ট-এন্ড ডেভেলপমেন্টে আপনার একটি ভাল হ্যান্ডেল থাকলেও, তাদের অর্থ কী তা সন্ধান করার একটি ভাল সুযোগ রয়েছে। অথবা হয়তো আপনি আমার মত এবং সময়ে সময়ে তাদের মিশ্রিত. শর্তাবলী সব দেখতে এবং ভয়ঙ্কর একই রকম শোনায় এবং তাদের বিভ্রান্ত করা সত্যিই সহজ।

সুতরাং, আসুন তাদের একসাথে ভেঙে ফেলি এবং ওয়েব সকেট, ওয়েব কর্মী এবং পরিষেবা কর্মীকে আলাদা করি। চটকদার অর্থে নয় যেখানে আমরা গভীর ডাইভ করি এবং প্রত্যেকের সাথে অভিজ্ঞতা লাভ করি — পরের বার বুকমার্ক করার জন্য একটু সাহায্যকারীর মতো I আপনার একটি রিফ্রেসার প্রয়োজন।

দ্রুত রেফারেন্স

দ্রুত তুলনা এবং বৈসাদৃশ্যের জন্য আমরা একটি উচ্চ-স্তরের ওভারভিউ দিয়ে শুরু করব।

বৈশিষ্ট্য এটা কি
ওয়েব সকেট ইভেন্ট দ্বারা ট্রিগার করা একক সংযোগের মাধ্যমে বার্তা প্রেরণ এবং গ্রহণ করার জন্য ব্রাউজার এবং সার্ভারের মধ্যে একটি খোলা এবং অবিরাম দ্বি-মুখী সংযোগ স্থাপন করে।
ওয়েব কর্মী স্ক্রিপ্টগুলিকে মূল থ্রেডে একে অপরকে ব্লক করা থেকে বিরত রাখতে স্ক্রিপ্টগুলিকে পৃথক থ্রেডে পটভূমিতে চালানোর অনুমতি দেয়৷
সেবা কর্মী ওয়েব ওয়ার্কারের একটি প্রকার যা একটি ব্যাকগ্রাউন্ড পরিষেবা তৈরি করে যা ব্রাউজার এবং সার্ভারের মধ্যে নেটওয়ার্ক অনুরোধগুলি পরিচালনা করার জন্য মিডলওয়্যার কাজ করে, এমনকি অফলাইন পরিস্থিতিতেও।

ওয়েব সকেট

একটি ওয়েব সকেট একটি দ্বিমুখী যোগাযোগ প্রোটোকল। এটিকে আপনার এবং আপনার বন্ধুর মধ্যে একটি চলমান কলের মতো মনে করুন যা শেষ হবে না যতক্ষণ না আপনার মধ্যে কেউ হ্যাং আপ করার সিদ্ধান্ত নেয়। পার্থক্য শুধু এই যে আপনি ব্রাউজার এবং আপনার বন্ধু সার্ভার। ক্লায়েন্ট সার্ভারে একটি অনুরোধ পাঠায় এবং সার্ভার ক্লায়েন্টের অনুরোধ প্রক্রিয়াকরণ করে এবং এর বিপরীতে সাড়া দেয়।

ওয়েব সকেট, ওয়েব কর্মী এবং পরিষেবা কর্মীদের মধ্যে পার্থক্য

যোগাযোগ ঘটনা উপর ভিত্তি করে. ক WebSocket অবজেক্ট প্রতিষ্ঠিত হয় এবং একটি সার্ভারের সাথে সংযোগ স্থাপন করে এবং সার্ভার ট্রিগার ইভেন্টগুলির মধ্যে বার্তাগুলি পাঠায় এবং গ্রহণ করে।

এর মানে হল যে যখন প্রাথমিক সংযোগ তৈরি করা হয়, তখন আমাদের কাছে একটি ক্লায়েন্ট-সার্ভার যোগাযোগ থাকে যেখানে একটি সংযোগ চালু করা হয় এবং ক্লায়েন্ট বা সার্ভার একটি পাঠানোর মাধ্যমে এটি বন্ধ করার জন্য বেছে না নেওয়া পর্যন্ত জীবিত রাখা হয়। CloseEvent. এটি একটি ক্লায়েন্ট এবং একটি সার্ভারের মধ্যে অবিচ্ছিন্ন এবং সরাসরি যোগাযোগের প্রয়োজন এমন অ্যাপ্লিকেশনগুলির জন্য ওয়েব সকেটকে আদর্শ করে তোলে। বেশিরভাগ সংজ্ঞা আমি দেখেছি যে কল আউট চ্যাট অ্যাপগুলি একটি সাধারণ ব্যবহারের ক্ষেত্রে - আপনি একটি বার্তা টাইপ করেন, এটি সার্ভারে পাঠান, একটি ইভেন্ট ট্রিগার করেন এবং সার্ভার বারবার সার্ভারে পিং না করেই ডেটা সহ প্রতিক্রিয়া জানায়৷

এই দৃশ্যকল্প বিবেচনা করুন: আপনি বের হয়ে আসছেন এবং আপনি Google Maps চালু করার সিদ্ধান্ত নিয়েছেন। আপনি সম্ভবত ইতিমধ্যেই জানেন যে কীভাবে Google মানচিত্র কাজ করে, কিন্তু আপনি যদি না করেন তবে আপনি অ্যাপের সাথে সংযোগ করার পরে এটি স্বয়ংক্রিয়ভাবে আপনার অবস্থান খুঁজে বের করে এবং আপনি যেখানেই যান না কেন সেটির ট্র্যাক রাখে। যতক্ষণ এই সংযোগটি বেঁচে থাকে ততক্ষণ এটি আপনার অবস্থানের ট্র্যাক রাখতে রিয়েল-টাইম ডেটা ট্রান্সমিশন ব্যবহার করে। এটি একটি ওয়েব সকেট যেটি ডেটা আপ টু ডেট রাখতে ব্রাউজার এবং সার্ভারের মধ্যে একটি অবিরাম দ্বি-মুখী কথোপকথন স্থাপন করে। রিয়েল-টাইম স্কোর সহ একটি স্পোর্টস অ্যাপ এইভাবে ওয়েব সকেট ব্যবহার করতে পারে।

ওয়েব সকেট এবং ওয়েব ওয়ার্কারদের মধ্যে বড় পার্থক্য (এবং, এক্সটেনশন দ্বারা আমরা দেখব, সার্ভিস ওয়ার্কার) হল তাদের DOM-এ সরাসরি অ্যাক্সেস রয়েছে। যেখানে ওয়েব ওয়ার্কাররা (এবং সার্ভিস ওয়ার্কার) আলাদা থ্রেডে চলে, ওয়েব সকেট হল মূল থ্রেডের অংশ যা তাদের DOM কে ম্যানিপুলেট করার ক্ষমতা দেয়।

ওয়েব সকেট সংযোগ স্থাপন এবং বজায় রাখতে সহায়তা করার জন্য সরঞ্জাম এবং পরিষেবা রয়েছে, যার মধ্যে রয়েছে: সকেটক্লাস্টার, AsyncAPI, রাখাল বালক, ওয়েবসকেট কিং, চ্যানেল, এবং গরিলা ওয়েবসকেট. MDN আছে একটি চলমান তালিকা যা অন্যান্য পরিষেবা অন্তর্ভুক্ত করে.

আরও ওয়েব সকেট তথ্য

ওয়েব কর্মী

এমন একটি পরিস্থিতি বিবেচনা করুন যেখানে আপনাকে একই সময়ে DOM-এ পরিবর্তন করার সময় একগুচ্ছ জটিল গণনা করতে হবে। JavaScript হল একটি একক-থ্রেডেড অ্যাপ্লিকেশন এবং একাধিক স্ক্রিপ্ট চালানোর ফলে আপনি যে ইউজার ইন্টারফেসটিতে পরিবর্তন করার চেষ্টা করছেন এবং সেইসাথে যে জটিল গণনা করা হচ্ছে তা ব্যাহত করতে পারে।

এখানেই ওয়েব ওয়ার্কাররা কাজ করে।

ওয়েব ওয়ার্কাররা স্ক্রিপ্টগুলিকে আলাদা থ্রেডে ব্যাকগ্রাউন্ডে চালানোর অনুমতি দেয় যাতে স্ক্রিপ্টগুলি মূল থ্রেডে একে অপরকে ব্লক করা থেকে বিরত থাকে। এটি এ্যাপ্লিকেশনগুলির কার্যক্ষমতা বাড়ানোর জন্য তাদের দুর্দান্ত করে তোলে যেগুলির জন্য নিবিড় ক্রিয়াকলাপগুলির প্রয়োজন কারণ সেই অপারেশনগুলি রেন্ডারিং থেকে ব্যবহারকারীর ইন্টারফেসকে প্রভাবিত না করেই পৃথক থ্রেডগুলিতে পটভূমিতে সঞ্চালিত হতে পারে। তবে তারা DOM অ্যাক্সেস করার ক্ষেত্রে এতটা দুর্দান্ত নয় কারণ, ওয়েব সকেটের বিপরীতে, একজন ওয়েব কর্মী মূল থ্রেডের বাইরে তার নিজস্ব থ্রেডে চলে।

একটি ওয়েব ওয়ার্কার একটি বস্তু যা একটি ব্যবহার করে একটি স্ক্রিপ্ট ফাইল নির্বাহ করে Worker কার্য সম্পাদন করতে আপত্তি। এবং যখন আমরা শ্রমিকদের কথা বলি, তখন তারা তিন ধরনের একটিতে পড়ে:

  • নিবেদিত কর্মী: একজন নিবেদিত কর্মী শুধুমাত্র সেই স্ক্রিপ্টের নাগালের মধ্যে থাকে যা এটিকে কল করে। এটি এখনও একটি সাধারণ ওয়েব কর্মীর কাজ সম্পাদন করে, যেমন এর মাল্টি-থ্রেডিং স্ক্রিপ্ট।
  • ভাগ করা শ্রমিক: একটি ভাগ করা কর্মী একটি নিবেদিত কর্মীর বিপরীত। এটি একাধিক স্ক্রিপ্ট দ্বারা অ্যাক্সেস করা যেতে পারে এবং কার্যত যে কোনও কাজ সম্পাদন করতে পারে যা একজন ওয়েব কর্মী সম্পাদন করে যতক্ষণ না তারা কর্মী হিসাবে একই ডোমেনে বিদ্যমান থাকে।
  • সেবা কর্মী: একটি পরিষেবা কর্মী একটি অ্যাপ, ব্রাউজার এবং সার্ভারের মধ্যে একটি নেটওয়ার্ক প্রক্সি হিসাবে কাজ করে, এমনকি যখন নেটওয়ার্ক অফলাইনে চলে যায় তখনও স্ক্রিপ্টগুলি চালানোর অনুমতি দেয়৷ আমরা পরবর্তী বিভাগে এটি পেতে যাচ্ছি.

আরও ওয়েব কর্মীদের তথ্য

সার্ভিস ওয়ার্কার্স

কিছু জিনিস আছে যেগুলোর উপর ডেভেলপার হিসেবে আমাদের কোন নিয়ন্ত্রণ নেই এবং সেই জিনিসগুলোর মধ্যে একটি হল ব্যবহারকারীর নেটওয়ার্ক সংযোগ। ব্যবহারকারী যে নেটওয়ার্কের সাথে সংযোগ করেন তা-ই। আমরা কেবলমাত্র আমাদের অ্যাপগুলিকে অপ্টিমাইজ করার জন্য আমাদের যথাসাধ্য চেষ্টা করতে পারি যাতে তারা যে কোনও সংযোগে সর্বোত্তম কার্য সম্পাদন করে যা ব্যবহার করা হবে৷

একটি অ্যাপের কর্মক্ষমতা ক্রমবর্ধমানভাবে উন্নত করতে আমরা যা করতে পারি তার মধ্যে একটি হল পরিষেবা কর্মী৷ একজন পরিষেবা কর্মী অ্যাপ, ব্রাউজার এবং সার্ভারের মধ্যে বসে, একটি সুরক্ষিত সংযোগ প্রদান করে যা একটি পৃথক থ্রেডে ব্যাকগ্রাউন্ডে চলে, ধন্যবাদ — আপনি এটি অনুমান করেছেন — ওয়েব কর্মী৷ আমরা গত বিভাগে শিখেছি, সার্ভিস ওয়ার্কাররা তিন ধরনের ওয়েব ওয়ার্কারদের মধ্যে একটি।

তাহলে, কেন আপনার অ্যাপ এবং ব্যবহারকারীর ব্রাউজারের মধ্যে বসে থাকা একজন পরিষেবা কর্মী প্রয়োজন হবে? আবার, ব্যবহারকারীর নেটওয়ার্ক সংযোগের উপর আমাদের কোন নিয়ন্ত্রণ নেই। বলুন সংযোগ কিছু অজানা কারণে আউট দেয়. এটি ব্রাউজার এবং সার্ভারের মধ্যে যোগাযোগ বিচ্ছিন্ন করবে, ডেটাকে পিছনে এবং পিছনে যেতে বাধা দেবে। একজন পরিষেবা কর্মী সংযোগ বজায় রাখে, একটি অ্যাসিঙ্ক প্রক্সি হিসাবে কাজ করে যা অনুরোধগুলিকে বাধা দিতে এবং কাজগুলি সম্পাদন করতে সক্ষম — এমনকি নেটওয়ার্ক সংযোগ হারিয়ে যাওয়ার পরেও৷

ব্রাউজার আইকন লেবেলযুক্ত ক্লায়েন্ট এবং একটি ক্লাউড আইকন লেবেল সার্ভারের মধ্যে একটি গিয়ার কগ আইকন লেবেলযুক্ত সার্ভিস ওয়ার্কার।
ওয়েব সকেট, ওয়েব কর্মী এবং পরিষেবা কর্মীদের মধ্যে পার্থক্য

এটি প্রায়শই যাকে বলা হয় তার প্রধান চালক "অফলাইন-প্রথম" উন্নয়ন. আমরা নেটওয়ার্কের পরিবর্তে স্থানীয় ক্যাশে সম্পদগুলি সঞ্চয় করতে পারি, ব্যবহারকারী অফলাইনে গেলে গুরুত্বপূর্ণ তথ্য প্রদান করতে পারি, জিনিসগুলি প্রিফেচ করতে পারি যাতে ব্যবহারকারীর প্রয়োজন হলে তারা প্রস্তুত থাকে এবং নেটওয়ার্ক ত্রুটির প্রতিক্রিয়ায় ফলব্যাক প্রদান করতে পারি৷ তারা সম্পূর্ণরূপে অ্যাসিঙ্ক্রোনাস কিন্তু, ওয়েব সকেটের বিপরীতে, তাদের নিজস্ব থ্রেডে চালানোর কারণে তাদের DOM-এ কোনো অ্যাক্সেস নেই।

পরিষেবা কর্মীদের সম্পর্কে জানার আরেকটি বড় বিষয় হল যে তারা আপনার অ্যাপ থেকে প্রতিটি একক অনুরোধ এবং প্রতিক্রিয়া বাধা দেয়। যেমন, তাদের কিছু নিরাপত্তা প্রভাব রয়েছে, বিশেষ করে তারা একই-অরিজিন নীতি অনুসরণ করে। সুতরাং, এর মানে হল কোনও CDN বা তৃতীয় পক্ষের পরিষেবা থেকে কোনও পরিষেবা কর্মী চালানো নয়৷ তাদের একটি নিরাপদ HTTPS সংযোগেরও প্রয়োজন, যার অর্থ তাদের চালানোর জন্য আপনার একটি SSL শংসাপত্রের প্রয়োজন হবে৷

আরও পরিষেবা কর্মীদের তথ্য

মোড়ক উম্মচন

এটি ওয়েব সকেট, ওয়েব কর্মী এবং পরিষেবা কর্মীদের মধ্যে পার্থক্যের (এবং মিল) একটি উচ্চ-স্তরের ব্যাখ্যা। আবার, পরিভাষা এবং ধারণাগুলি একে অপরের সাথে মিশ্রিত করার জন্য যথেষ্ট সমান, তবে আশা করি, এটি আপনাকে কীভাবে তাদের আলাদা করা যায় সে সম্পর্কে আরও ভাল ধারণা দেয়।

আমরা একটি দ্রুত রেফারেন্স টেবিল সঙ্গে জিনিস বন্ধ লাথি. এখানে একই জিনিস, কিন্তু মোটা তুলনা আঁকা সামান্য প্রসারিত.

বৈশিষ্ট্য এটা কি মাল্টিথ্রেডেড? HTTPS? DOM অ্যাক্সেস?
ওয়েব সকেট ইভেন্ট দ্বারা ট্রিগার করা একক সংযোগের মাধ্যমে বার্তা প্রেরণ এবং গ্রহণ করার জন্য ব্রাউজার এবং সার্ভারের মধ্যে একটি খোলা এবং অবিরাম দ্বি-মুখী সংযোগ স্থাপন করে। মূল থ্রেডে চলে আবশ্যক না হাঁ
ওয়েব কর্মী স্ক্রিপ্টগুলিকে মূল থ্রেডে একে অপরকে ব্লক করা থেকে বিরত রাখতে স্ক্রিপ্টগুলিকে পৃথক থ্রেডে পটভূমিতে চালানোর অনুমতি দেয়৷ একটি পৃথক থ্রেড উপর সঞ্চালিত হয় প্রয়োজনীয় না
সেবা কর্মী ওয়েব ওয়ার্কারের একটি প্রকার যা একটি ব্যাকগ্রাউন্ড পরিষেবা তৈরি করে যা ব্রাউজার এবং সার্ভারের মধ্যে নেটওয়ার্ক অনুরোধগুলি পরিচালনা করার জন্য মিডলওয়্যার কাজ করে, এমনকি অফলাইন পরিস্থিতিতেও। একটি পৃথক থ্রেড উপর সঞ্চালিত হয় প্রয়োজনীয় না

সময় স্ট্যাম্প:

থেকে আরো সিএসএস কৌশল