চ্যানেল এবং সংযোগের মধ্যে খরগোশ এমকিউ এবং সম্পর্ক


176

RabbitMQ জাভা ক্লায়েন্ট নিম্নলিখিত ধারণা আছে:

  • Connection - একটি রেবিটএমকিউ সার্ভারের উদাহরণের সাথে সংযোগ
  • Channel - ???
  • গ্রাহক থ্রেড পুল - থ্রেডের একটি পুল যা রাব্বিটএমকিউ সার্ভারের কাতারে থাকা বার্তা গ্রাস করে
  • সারি - একটি কাঠামো যা ফিফোর ক্রমে বার্তা ধারণ করে

আমি সম্পর্কটি বোঝার চেষ্টা করছি এবং আরও গুরুত্বপূর্ণ , তাদের মধ্যে সংযোগ রয়েছে।

  1. Channelআপনি যেটি প্রকাশ করেছেন এবং সেগুলি গ্রাহ্য করেছেন এবং এটি একটি উন্মুক্ত সংযোগ থেকে তৈরি হয়েছিল তা ব্যতীত আমি এখনও নিশ্চিত নই যে এটি কী। যদি কেউ আমাকে "চ্যানেল" প্রতিনিধিত্ব করে তা ব্যাখ্যা করতে পারে তবে এটি কয়েকটি জিনিস পরিষ্কার করতে সহায়তা করতে পারে।
  2. চ্যানেল এবং কিউয়ের মধ্যে সম্পর্ক কী? একই চ্যানেলটি একাধিক কুইউতে যোগাযোগ করতে ব্যবহৃত হতে পারে, বা এটি 1: 1 হতে হবে?
  3. কিউ এবং কনজিউমার পুলের মধ্যে সম্পর্ক কী? একাধিক গ্রাহক কি একই সারিতে সদস্যতা নিতে পারবেন? একই গ্রাহক একাধিক ক্যুইস গ্রাস করতে পারবেন? নাকি সম্পর্ক 1: 1?

এখানে কোনও সহায়তার জন্য আগাম ধন্যবাদ!


এই প্রশ্নের উত্তরগুলি আমাকে এখানে প্রশ্ন জিজ্ঞাসা করার চেয়ে গোলং ক্লায়েন্টের কাছে এই সমস্যাটির প্রতিবেদন করে ।
ব্রুস অ্যাডামস

চ্যানেলটি একটি যৌক্তিক ধারণা যা ক্লায়েন্ট এবং নোডের মধ্যে একক শারীরিক টিসিপি সংযোগটি মাল্টিপ্লেক্সে ব্যবহৃত হয়। চ্যানেল নম্বরটি এএমকিউ ফ্রেমের বার্তা শিরোনামে অন্তর্ভুক্ত।
ইয়ামাস

উত্তর:


196
  1. Connectionবার্তা ব্রোকারের সাথে একটি আসল টিসিপি সংযোগ উপস্থাপন করে, যেখানে Channelএটির ভিতরে একটি ভার্চুয়াল সংযোগ (এএমকিউপি সংযোগ) থাকে। টিসিপি সংযোগের মাধ্যমে ব্রোকারকে ওভারলোড না করে আপনি নিজের অ্যাপ্লিকেশনের ভিতরে যতগুলি চান (ভার্চুয়াল) সংযোগগুলি ব্যবহার করতে পারেন এইভাবে।

  2. আপনি Channelসবকিছুর জন্য একটি ব্যবহার করতে পারেন । তবে আপনার যদি একাধিক থ্রেড থাকে তবে Channelপ্রতিটি থ্রেডের জন্য আলাদা ব্যবহার করার পরামর্শ দেওয়া হয় ।

    জাভা ক্লায়েন্ট API গাইডের চ্যানেল থ্রেড-সুরক্ষা :

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

    Channelএবং এর মধ্যে সরাসরি কোনও সম্পর্ক নেই Queue। A Channelদালালকে AMQP কমান্ড প্রেরণে ব্যবহৃত হয়। এটি কোনও সারি বা অনুরূপের সৃষ্টি হতে পারে তবে এই ধারণাগুলি এক সাথে আবদ্ধ নয়।

  3. প্রতিটি Consumerগ্রাহক থ্রেড পুল থেকে বরাদ্দকৃত নিজস্ব থ্রেডে চলে। যদি একাধিক গ্রাহক একই কাতারে সাবস্ক্রাইব হন তবে দালাল রাউন্ড-রবিন তাদের মধ্যে থাকা বার্তাগুলিকে সমানভাবে বিতরণ করতে ব্যবহার করে। টিউটোরিয়াল দুটি দেখুন : "কাজের সারি"

    এটি Consumerএকাধিক কুইজের সাথে সংযুক্ত করাও সম্ভব । আপনি গ্রাহককে কলব্যাক হিসাবে বুঝতে পারবেন। এগুলিকে বলা হয় যখনই কোনও বার্তা গ্রাহকের কাছে আবদ্ধ একটি কাতারে আসে। জাভা ক্লায়েন্টের ক্ষেত্রে, প্রতিটি গ্রাহকের একটি পদ্ধতি রয়েছে handleDelivery(...), যা কলব্যাক পদ্ধতিটি উপস্থাপন করে। আপনি সাধারণত যা করেন তা হ'ল সাবক্লাস DefaultConsumerএবং ওভাররাইড handleDelivery(...)। দ্রষ্টব্য: আপনি যদি একই গ্রাহক উদাহরণটি একাধিক কাতারে সংযুক্ত করেন তবে এই পদ্ধতিটি বিভিন্ন থ্রেড দ্বারা ডাকা হবে। সুতরাং প্রয়োজনে সিঙ্ক্রোনাইজেশনের যত্ন নিন।


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

1
আপনি যদি একই চ্যানেল থেকে একাধিক কুইউতে একই গ্রাহক উদাহরণটি সংযুক্ত করেন তবে এর অর্থ হ'ল কলব্যাকগুলি একই থ্রেডে প্রেরণ করা হয়েছে। সেক্ষেত্রে আপনার সিঙ্ক্রোনাইজেশন প্রয়োজন হবে না, তাই না?
ফিলিপ

আমি কি একটি সংযোগ ব্যবহার করতে পারি এবং সংযোগ পুলের পরিবর্তে চ্যানেলের পুল ব্যবহার করতে পারি? এটি বার্তা প্রকাশের মাধ্যমে আউটপুট প্রভাবিত করবে?
কিউক

4
আমি মনে করি জাভা ক্লায়েন্ট এপিআইয়ের এই রেফারেন্সটি এখন পুরানো এবং বাস্তবে আজকের রেফারেন্সটি সরাসরি এই উত্তরের উদ্ধৃতিটির সাথে বিরোধিতা করে। আজকের রেফারেন্স বলছে "চ্যানেল উদাহরণগুলি থ্রেডগুলির মধ্যে ভাগ করা উচিত নয়"।
এডউইন ডালোরজো

1
@ এডউইন ডালোরজো - দেখে মনে হচ্ছে মূলত ডকুমেন্টেশন লিখেছেন এমন ব্যক্তিরা চ্যানেল-সংযোগ দ্বিধাতত্ত্ব পুরোপুরি বুঝতে পারেন নি। AMQP 0.9.1 এর মূল কাঠামোটি একটি চ্যানেলটিকে সত্যই একটি সেশন হিসাবে বিবেচনা করে, সুতরাং একটি সেশন ভাগ করে নেওয়া বিভিন্ন থ্রেড সত্যিই বাজে কথা। আমার ধারণা এটিই পরিবর্তনের কারণ।
দ্য মায়ার

53

AMQP প্রোটোকল "হুডের নীচে" কী করে তার একটি ভাল ধারণাটি উপলব্ধি এখানে দরকারী। আমি প্রস্তাব দেব যে ডকুমেন্টেশন এবং এপিআই যেটি এএমকিউপি ০.৯.১ স্থাপন করা বেছে নিয়েছিল তা এটি বিশেষত বিভ্রান্তিকর করে তোলে, তাই প্রশ্নটি নিজেই একটি যা বহু লোককে লড়াই করতে হয়।

টি এল; ডিআর

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

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

একজন গ্রাহক একটি ভার্চুয়াল কনস্ট্রাক্ট যে একটি নির্দিষ্ট চ্যানেলে একটি "ডাকবাক্স" উপস্থিতিতে প্রতিনিধিত্ব করে। কোনও ভোক্তার ব্যবহার ব্রোকারকে একটি নির্দিষ্ট সারি থেকে সেই চ্যানেলটির শেষ পয়েন্টে বার্তা চাপতে বলে push

সংযোগের তথ্য

প্রথমত, অন্যরা যেমন সঠিকভাবে উল্লেখ করেছেন, একটি সংযোগ হ'ল বস্তু যা সার্ভারের সাথে প্রকৃত টিসিপি সংযোগ উপস্থাপন করে। এএমকিউপিতে প্রোটোকল স্তরে সংযোগগুলি নির্দিষ্ট করা হয় এবং ব্রোকারের সাথে সমস্ত যোগাযোগ এক বা একাধিক সংযোগের মধ্যে ঘটে।

  • যেহেতু এটি একটি আসল টিসিপি সংযোগ, তাই এর একটি আইপি ঠিকানা এবং পোর্ট # রয়েছে।
  • সংযোগ স্থাপনের অংশ হিসাবে প্রোটোকল পরামিতিগুলি প্রতি ক্লায়েন্ট ভিত্তিতে আলোচনা করা হয় ( হ্যান্ডশেক হিসাবে পরিচিত একটি প্রক্রিয়া) ।
  • এটা হতে ডিজাইন করা হয়েছে দীর্ঘস্থায়ী ; এমন কয়েকটি ঘটনা রয়েছে যেখানে সংযোগ বন্ধ হওয়াই প্রোটোকল ডিজাইনের অংশ।
  • ওএসআই দৃষ্টিকোণ থেকে, এটি সম্ভবত স্তর 6 এর আশেপাশে কোথাও বাস করে
  • হার্টবিট সংযোগের স্থিতি পর্যবেক্ষণ করার জন্য সেটআপ করা যেতে পারে, কারণ টিসিপিতে এটি করার জন্য এবং নিজের মধ্যে কিছু থাকে না।
  • অন্তর্নিহিত টিসিপি সকেটটি পড়তে এবং লিখতে একটি উত্সর্গীকৃত থ্রেড পরিচালনা করা ভাল। বেশিরভাগ, সমস্ত না থাকলে, রেবিটএমকিউ ক্লায়েন্টরা এটি করে। সে ক্ষেত্রে, তারা সাধারণত থ্রেড-নিরাপদ।
  • তুলনামূলকভাবে বলতে গেলে, সংযোগগুলি তৈরি করতে "ব্যয়বহুল" (হ্যান্ডশেকের কারণে), তবে ব্যবহারিকভাবে বলতে গেলে, এটি সত্যিকার অর্থে কোনও ব্যাপার নয়। বেশিরভাগ প্রক্রিয়াগুলির জন্য কেবলমাত্র একটি সংযোগের বিষয় প্রয়োজন। তবে, আপনি একটি পুলে সংযোগগুলি বজায় রাখতে পারেন, যদি আপনি খুঁজে পান যে কোনও থ্রেড / সকেট সরবরাহ করতে পারে তার চেয়ে বেশি থ্রুপুট প্রয়োজন (বর্তমান কম্পিউটিং প্রযুক্তির সাথে অসম্ভব)।

চ্যানেল তথ্য

একটি চ্যানেল হল অ্যাপ্লিকেশন সেশন যা আপনার অ্যাপ্লিকেশনের প্রতিটি অংশের জন্য খরগোশ এমকিউ ব্রোকারের সাথে যোগাযোগ করার জন্য খোলা হয়। এটি একটি একক সংযোগে পরিচালনা করে এবং ব্রোকারের সাথে একটি সেশন উপস্থাপন করে ।

  • এটি অ্যাপ্লিকেশন লজিকের একটি লজিকাল অংশ উপস্থাপন করে, প্রতিটি চ্যানেল সাধারণত নিজস্ব থ্রেডে উপস্থিত থাকে।
  • সাধারণত, আপনার অ্যাপ্লিকেশন দ্বারা খোলার সমস্ত চ্যানেলগুলি একটি একক সংযোগ ভাগ করবে (সেগুলি লাইটওয়েট সেশন যা সংযোগের শীর্ষে পরিচালিত হয়)। সংযোগগুলি থ্রেড-নিরাপদ, সুতরাং এটি ঠিক আছে।
  • বেশিরভাগ এএমকিউপি অপারেশন চ্যানেলগুলির মাধ্যমে ঘটে।
  • ওএসআই লেয়ার দৃষ্টিকোণ থেকে, চ্যানেলগুলি সম্ভবত স্তর 7 এর আশেপাশে রয়েছে
  • চ্যানেলগুলি ক্ষণস্থায়ী হতে ডিজাইন করা হয়েছে ; এএমকিউপি-র ডিজাইনের অংশটি হ'ল চ্যানেলটি সাধারণত কোনও ত্রুটির প্রতিক্রিয়াতে বন্ধ থাকে (যেমন বিদ্যমান সারিটি মোছার আগে বিভিন্ন পরামিতিগুলির সাথে একটি সারি পুনরায় ঘোষণার)।
  • যেহেতু এগুলি ক্ষণস্থায়ী, আপনার অ্যাপ্লিকেশন দ্বারা চ্যানেলগুলি পোল করা উচিত নয়।
  • চ্যানেল সনাক্ত করতে সার্ভারটি একটি পূর্ণসংখ্যা ব্যবহার করে। সংযোগ পরিচালনার থ্রেড যখন কোনও নির্দিষ্ট চ্যানেলের জন্য একটি প্যাকেট গ্রহণ করে, তখন প্যাকেটটি কোন চ্যানেল / সেশনের অন্তর্গত তা ব্রোকারকে বলতে এই সংখ্যাটি ব্যবহার করে।
  • চ্যানেলগুলি সাধারণত থ্রেড-নিরাপদ হয় না কারণ এগুলি থ্রেডগুলির মধ্যে ভাগ করে নেওয়ার কোনও অর্থ হয় না। আপনার যদি অন্য থ্রেড থাকে যা ব্রোকারটি ব্যবহার করা দরকার তবে একটি নতুন চ্যানেল প্রয়োজন।

গ্রাহক তথ্য

একজন গ্রাহক এএমকিপি প্রোটোকল দ্বারা সংজ্ঞায়িত একটি বিষয়। এটি কোনও চ্যানেল বা সংযোগ নয়, এর পরিবর্তে এমন কিছু যা আপনার নির্দিষ্ট অ্যাপ্লিকেশনটি বার্তা ফেলে দেওয়ার জন্য "মেলবক্স" হিসাবে ব্যবহার করে।

  • "ভোক্তা তৈরি করা" এর অর্থ হ'ল আপনি ব্রোকারকে ( সংযোগের মাধ্যমে একটি চ্যানেল ব্যবহার করে ) বলছেন যে আপনি সেই চ্যানেলটির উপরে বার্তা আপনাকে চাপিয়ে দিতে চান। প্রতিক্রিয়া হিসাবে, ব্রোকার নিবন্ধভুক্ত করবে যে আপনার চ্যানেলে একটি গ্রাহক রয়েছে এবং আপনাকে বার্তা প্রেরণ করা শুরু করবেন।
  • সংযোগের উপরে চাপ দেওয়া প্রতিটি বার্তা একটি চ্যানেল নম্বর এবং গ্রাহক সংখ্যা উভয়ই উল্লেখ করবে । এইভাবে, সংযোগ-পরিচালনা থ্রেড (এই ক্ষেত্রে, জাভা এপিআই-র মধ্যে) বার্তাটি দিয়ে কী করতে হবে তা জানে; তারপরে, চ্যানেল হ্যান্ডলিং থ্রেডটি বার্তাটি দিয়ে কী করবে তাও জানে।
  • গ্রাহক বাস্তবায়নের বিস্তৃত পরিমাণ রয়েছে, কারণ এটি আক্ষরিকভাবে প্রয়োগ-নির্দিষ্ট। আমার বাস্তবায়নে, প্রতিটি বার গ্রাহকের মাধ্যমে কোনও বার্তা পৌঁছে যাওয়ার পরে আমি কোনও কাজ সরিয়ে নেওয়া বেছে নিয়েছি; সুতরাং, আমার কাছে সংযোগ পরিচালনা করার একটি থ্রেড, চ্যানেল পরিচালনা করার একটি থ্রেড ছিল (এবং এক্সটেনশন দ্বারা, গ্রাহক), এবং গ্রাহকের মাধ্যমে প্রেরিত প্রতিটি বার্তার জন্য এক বা একাধিক টাস্ক থ্রেড ছিল।
  • কোনও সংযোগ বন্ধ করা সংযোগের সমস্ত চ্যানেল বন্ধ করে দেয়। একটি ক্লোজিং চ্যানেল চ্যানেলে সব ভোক্তাদের বন্ধ করে। এটি বাতিল করাও সম্ভবগ্রাহককে করা (চ্যানেলটি বন্ধ না করে) । বিভিন্ন ক্ষেত্রে যখন তিনটি জিনিসের কোনওটি করার বুদ্ধি ঘটে।
  • সাধারণত, একটি এএমকিউপি ক্লায়েন্টে গ্রাহকের বাস্তবায়ন অন্য থ্রেড বা কোড (প্রকাশনা সহ) এর ক্রিয়াকলাপের সাথে দ্বন্দ্ব এড়াতে গ্রাহককে একটি উত্সর্গীকৃত চ্যানেল বরাদ্দ করবে।

গ্রাহক থ্রেড পুল বলতে আপনি কী বোঝাতে চেয়েছেন তাতে আমি সন্দেহ করি যে জাভা ক্লায়েন্ট আমার ক্লায়েন্টকে যা করার জন্য আমি প্রোগ্রাম করেছিলাম তার মতোই কিছু করছে (আমার নেট নেট ক্লায়েন্টের উপর ভিত্তি করে তৈরি হয়েছিল, তবে ভারি পরিবর্তিত)।


1
"চ্যানেলগুলিকে পুল করা উচিত নয়",
এটিই

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

@ ইয়ামাস - আপনি যে ডকুমেন্টেশনটির কথা উল্লেখ করছেন তা অনুমানমূলক এবং আমার মতে, দরিদ্র গাইডেন্স। আমি উত্স কোড এবং প্রোটোকল স্পেক পড়ছি। চ্যানেলগুলি পুল করা উচিত নয়, পিরিয়ড। তদ্ব্যতীত, থ্রেড প্রতি একটি চ্যানেল একই একই নীতির উপর ভিত্তি করে গাইডেন্স guidance যদি আপনি দেখতে পান যে আপনার কাছে এতগুলি খোলামেলা চ্যানেল রয়েছে যা সার্ভারটি সংস্থান-সীমাবদ্ধ, আপনার আপনার আর্কিটেকচারটি পুনরায় মূল্যায়ন করতে হবে (অর্থাত্ একটি উচ্চ-প্রাপ্যতা স্কিমে স্যুইচ করুন এবং / বা চুক্তিটি হ্রাস করুন)।
মায়ার

21

আমি এই নিবন্ধটি পেয়েছি যা AMQP মডেলের সমস্ত দিক ব্যাখ্যা করে যার মধ্যে চ্যানেলটি একটি। আমি আমার বোধগম্যতা ঘোরাতে খুব সহায়ক বলে মনে করেছি

https://www.rabbitmq.com/tutorials/amqp-concepts.html

কিছু অ্যাপ্লিকেশনগুলির একটি এএমকিউ ব্রোকারের সাথে একাধিক সংযোগ প্রয়োজন। তবে একই সাথে অনেকগুলি টিসিপি সংযোগগুলি উন্মুক্ত রাখা অনাকাঙ্ক্ষিত কারণ এটি করা সিস্টেমের সংস্থান গ্রহণ করে এবং ফায়ারওয়ালগুলি কনফিগার করা আরও কঠিন করে তোলে। এএমকিউ 0-9-1 সংযোগগুলি এমন চ্যানেলগুলির সাথে একাধিক সংযুক্ত যা "" একটি টিসিপি সংযোগ ভাগ করে নেওয়া লাইটওয়েট সংযোগ "হিসাবে ভাবা যেতে পারে।

প্রসেসিংয়ের জন্য একাধিক থ্রেড / প্রক্রিয়া ব্যবহার করে এমন অ্যাপ্লিকেশনগুলির জন্য, থ্রেড / প্রক্রিয়া অনুযায়ী নতুন চ্যানেলটি খোলার পক্ষে এবং তাদের মধ্যে চ্যানেলগুলি ভাগ না করা খুব সাধারণ is

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


4

একটি টিসিপি সংযোগের একাধিক চ্যানেল থাকতে পারে এর মধ্যে একটি সম্পর্ক রয়েছে ।

চ্যানেল : এটি কোনও সংযোগের অভ্যন্তরে ভার্চুয়াল সংযোগ। কোনও সারি থেকে বার্তা প্রকাশ বা গ্রহণ করার সময় - এটি সমস্ত কোনও চ্যানেলের মাধ্যমে সম্পন্ন হয়েছে যেখানে সংযোগ : এটি আপনার অ্যাপ্লিকেশন এবং রবিটএমকিউ ব্রোকারের মধ্যে একটি টিসিপি সংযোগ।

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.