# তে সাবস্ক্রাইব করবেন না - সুতরাং ম্যাসকিউটো দিয়ে কীভাবে সমস্ত বার্তাগুলি ডাটাবেসে ডাম্প করা যায়?


16

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

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

হয় আছে

  • মশার ব্রোকারের জন্য একটি অনুরূপ সিস্টেম (এক্সটেনশন / প্লাগইন),
  • আর একটি প্রস্তাবিত পদ্ধতি যা মশার সাথে কাজ করে বা or
  • যুক্তিযুক্ত প্রমাণ যে এই পদ্ধতির আদৌ অপ্রয়োজনীয়, অর্থাৎ যে গ্রাহক সাবস্ক্রাইব করছেন #কেবল জরিমানা করতে পারেন?

/programming//q/31584613/3984613 এই প্রশ্নের পুরোপুরি সমাধান করে না।

উত্তর:


12

মশার ব্রোকারের জন্য একটি অনুরূপ সিস্টেম (এক্সটেনশন / প্লাগইন)

আমি যতদূর জানি মশার ব্রোকারের জন্য কোনও প্লাগইন / এক্সটেনশন নেই (কমপক্ষে কোনও ওপেনসোর্স এক নেই)

মশার সাথে কাজ করে এমন আরেকটি প্রস্তাবিত পদ্ধতি

আমি মশকুইটো ব্রোকার এবং এডাব্লুএস আইওটি-র সাথে আমার অভিজ্ঞতা অনুযায়ী বলতে পারি, আপনি সরাসরি '#' এ সাবস্ক্রাইব করতে পারেন

যুক্তিযুক্ত প্রমাণ

এই প্রশ্নটি দেখার পরে, আমি থ্রুপুট সীমাটি জানতে এবং একটি এক্সটেনশন সিস্টেমের প্রয়োজন আছে কিনা তা জানতে কিছুটা কৌতূহলী ছিলাম। সুতরাং আমি নিম্নলিখিত সেট আপ:

  • গেটওয়েতে কিছু এলোমেলো ডেটা প্রেরণের জন্য ভার্চুয়াল এন্ড ডিভাইস হিসাবে কাজ করা 100 এডাব্লুএস ল্যাম্বদা ফাংশনগুলি (ইসি 2 উদাহরণ t2.nano500 এমবি র‌্যাম)
  • প্রতি 60 সেকেন্ডে ফাংশনগুলি বিভিন্ন বিষয়ের গেটওয়েতে ডেটা প্রকাশ করতে ট্রিগার করে (ল্যাম্বড্যাটোটেক 2 / {ভ্যারিয়েবলটপিক নাম্বারফ্রাম 1-100}
  • ইসি 2 উদাহরণটি মশকিটো 1.4.10 চলছে

এখন পর্যন্ত, আমি দেখতে পাচ্ছি যে কোনও এক্সটেনশন সিস্টেম ছাড়া # তে সাবস্ক্রাইব করতে কোনও সমস্যা নেই। তবে পুনরায় আমাকে কয়েকটি প্রান্তের পরিস্থিতিগুলির জন্য পরীক্ষা করতে হবে (আমি একবার সেগুলি পরীক্ষা করে নেওয়ার পরে উত্তর আপডেট করব)।


"সঠিক" উত্তরটি পরীক্ষা করা হচ্ছে। যদি এটি প্রদর্শিত হতে পারে যে আপনার সিস্টেমের কার্যকারিতাটি একজন # গ্রাহক যুক্ত করে বিরূপভাবে প্রভাবিত হয়েছে, তবে ব্রোকারকে পুনরায় কনফিগার করুন # সাবস্ক্রিপশন বাতিল করতে। আমি এই উত্তরটিকে অগ্রাহ্য করলাম কারণ @ ব্র্যাভোক্যেল ঠিক এটি করেছিলেন।
জন ডিটারস

11

ওপেনএইচএবির মেলিং তালিকার এই আলোচনাটি মনে হচ্ছে যে #সমস্ত বার্তা গ্রহণের জন্য সাবস্ক্রিপশন হিসাবে ব্যবহার করার কোনও সমস্যা নেই :

এমকিউটিটি ডিভাইসগুলির সমস্যা সমাধানের সময়, আমার কাছে এমনটি ঘটেছিল যে মাঝে মাঝে আমি ইচ্ছুক যে কোনও ম্যাসকিউটো দালাল নির্দিষ্ট বিষয়টির পরিবর্তে সমস্ত এমকিউটিটি বার্তাগুলি দেখতে পেতাম। এই কাজ করতে একটি উপায় আছে কি?

কেউ আপনার জন্য এই প্রশ্নের উত্তর দিয়েছেন মোসকুইটো তালিকায়; একটি ওয়াইল্ডকার্ড ব্যবহার করুন। (#)

এই স্ট্যাক ওভারফ্লো প্রশ্নটি একই পদ্ধতিটির পরামর্শ দেয়:

# তে সাবস্ক্রাইব করা আপনাকে topics দিয়ে শুরু হওয়া বিষয়গুলি ব্যতীত সমস্ত কিছুর সাবস্ক্রিপশন দেয় (এগুলি সাধারণত যেভাবে বিষয়গুলিকে নিয়ন্ত্রণ করে)।

আপনি প্রথমে সাবস্ক্রাইব করছেন তা অবশ্যই জানা ভাল তবে অবশ্যই নোট করুন এবং কিছু ব্রোকার কনফিগারেশন সুস্পষ্টভাবে # তে সাবস্ক্রাইব করতে অস্বীকার করতে পারে।

যেমন বেনস কৌলিকস নির্দেশ করেছেন , স্পেসিফিকেশনটি# বৈধ যেটি উল্লেখ করে :

নন-আদর্শিক মন্তব্য

  • "#" বৈধ এবং প্রতিটি অ্যাপ্লিকেশন বার্তা পাবেন

সত্যিই, আমি দাবি করি যে আসল দাবিটি সত্যই আদৌ বেশি অর্থবোধ করে:

কারণটি হ'ল প্রায়শই সাবস্ক্রাইব করা ক্লায়েন্ট তার বার্তাগুলির লোড প্রক্রিয়া করতে সক্ষম হয় না।

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

সংক্ষেপে, HiveMQ দাবিটি অন্যান্য উত্স থেকে প্রচুর প্রমাণ দ্বারা সমর্থিত বলে মনে হয় না এবং আপনি যখন এটির প্রকৃত অর্থটি বিবেচনা করেন, তখন এটি বিশেষভাবে যৌক্তিক বলে মনে হয় না।


10

আমি মনে করি এটি বিবেচনা করা জরুরী যে এমকিউটিটি ব্রোকারদের জন্য বিভিন্ন সফ্টওয়্যার যেমন রয়েছে তেমন বিভিন্ন ব্যবহারের ঘটনা রয়েছে।

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

HiveMQ খুব উচ্চ ক্লায়েন্ট / বার্তা রেট অ্যাপ্লিকেশনগুলি সম্পর্কে চিন্তাভাবনা করে - এমন ক্ষেত্রে ব্রোকারের দক্ষতা কোনও ক্লায়েন্টের চেয়ে প্রায় অতিক্রম করে।

আপনি যদি সাবস্ক্রাইব করতে চান # নিজের হোম অটোমেশন সিস্টেমে তবে সমস্যা হওয়ার সম্ভাবনা সত্যিই কম। ব্রোকার যে কোনও ক্ষেত্রে অতিরিক্ত সিপিইউ ব্যবহার করছে কিনা তা আপনি পরীক্ষা করে দেখতে পারেন।

অন্যান্য উত্তরের মতো, সাবস্ক্রাইব করা #আপনাকে সমস্ত 'সাধারণ' বিষয় দেবে, এটি এমন কিছু যা শুরু হয় না $। আমি বলার অপেক্ষা রাখে না যে প্রতিটি বিষয় থেকে শুরু করে যেমন বৈশিষ্ট ব্যাখ্যা $নিজেই একটি পুরো পৃথক গাছ, তাই আপনি সাবস্ক্রাইব করতে চাই $SYS/#, $whatever/#পেতে সবকিছু । আপনি সম্ভবত কোনও সাধারণ অ্যাপ্লিকেশনটির জন্য যাইহোক এটি করতে চান না।

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