আমি কেবল এই নিবন্ধটি পড়েছি , এবং আমি বিভ্রান্ত হয়ে পড়েছি।
আসুন 1 ওয়েব্যাপ এবং 1 স্বতন্ত্র অ্যাপ্লিকেশনটি "কর্মী" হিসাবে অভিনয় করে উভয় একই ডাটাবেস ভাগ করে নেওয়ার কল্পনা করি ।
ওহ, আমি "ভাগ করে নেওয়ার" বলেছিলাম .. তবে নিবন্ধটি কী সম্পর্কে সতর্ক করে? :
চতুর্থত, অ্যাপ্লিকেশনগুলির (বা পরিষেবাগুলির) মধ্যে একটি ডাটাবেস ভাগ করে নেওয়া একটি খারাপ জিনিস। অবাস্তব ভাগ করে নেওয়া রাষ্ট্রটিকে সেখানে স্থাপন করা খুব লোভনীয় এবং এটি জানার আগে আপনার কাছে একটি বিশাল দম্পতি রয়েছে।
=> একমত না কিছু ক্ষেত্রে রয়েছে যেখানে পৃথক অ্যাপ্লিকেশনগুলি এখনও একই ইউনিটের অংশ, এবং সুতরাং, "কাপলিং ইস্যু" ধারণাটি এই ক্ষেত্রে কোনও ধারণা রাখে না।
চলুন চলুন: ওয়েব অ্যাপ্লিকেশন ক্লায়েন্ট এইচটিটিপি অনুরোধগুলি পরিচালনা করে এবং যে কোনও সময় সংযুক্ত ডোমেন ইভেন্টগুলি তৈরি করে কিছু সংহত (ডিডিডি শব্দ) আপডেট করতে পারে।
কর্মীর লক্ষ্য হ'ল প্রয়োজনীয় কাজগুলি প্রক্রিয়া করে সেই ডোমেন ইভেন্টগুলি পরিচালনা করা।
এই পয়েন্ট টি:
কর্মীদের কাছে ইভেন্টগুলির ডেটা কীভাবে প্রেরণ করা উচিত?
পঠিত নিবন্ধটি প্রচার করার সাথে সাথে প্রথম সমাধানটি হ'ল রাব্বিটএমকিউ ব্যবহার করা হবে, এটি একটি দুর্দান্ত বার্তা-ভিত্তিক মিডলওয়্যার।
কর্মপ্রবাহ সহজ হবে:
ওয়েব ডায়নো যে কোনও সময় কোনও ইভেন্ট উত্পন্ন করে, এটি এটি রাবিট এমকিউয়ের মাধ্যমে প্রকাশ করে, যা কর্মীকে ফিড দেয়।
অপূর্ণতাটি হ'ল কোনও কিছুই সম্ভাব্য প্রেরণ ব্যর্থতা ... বা হার্ডওয়্যার সংক্রান্ত সমস্যাগুলি মোকাবেলা না করে সামগ্রিক আপডেটের প্রতিশ্রুতি এবং ইভেন্টের প্রকাশের মধ্যে তাত্ক্ষণিক সামঞ্জস্যতার গ্যারান্টি দেয় ; এটি অন্য প্রধান সমস্যা।
উদাহরণ: এটি সম্ভব হবে যে সামগ্রিক আপডেটের সাফল্য ছাড়াই কোনও ইভেন্ট প্রকাশিত হয়েছিল ... ফলস্বরূপ ইভেন্টটি ডোমেন মডেলের একটি মিথ্যা প্রতিনিধিত্ব করে।
আপনি তর্ক করতে পারেন যে গ্লোবাল এক্সএ (দ্বি-পর্যায়ে কমিট) বিদ্যমান আছে, তবে এটি কোনও ডাটাবেস বা মিডলওয়্যারগুলির সাথে ফিট করে এমন কোনও সমাধান নয়।
তাহলে এই তাত্ক্ষণিক ধারাবাহিকতাটি নিশ্চিত করার জন্য ভাল সমাধান কী হতে পারে? :
আইএমও, ইভেন্টটি ডেটাবেজে সঞ্চয় করে, সমষ্টিগত আপডেটের মতো একই স্থানীয় লেনদেনে।
একটি সাধারণ অ্যাসিনক্রোনাস শিডিয়ুলার তৈরি করা হবে এবং ডাটাবেস থেকে বর্তমান অপ্রকাশিত ইভেন্টগুলির অনুসন্ধানের জন্য দায়ী এবং সেগুলি রব্বিটএমকিউতে প্রেরণ করবে, যার ফলে কর্মীরা পপুলেট হয়।
তবে ওয়েব অ্যাপের পাশাপাশি এবং উপায়ের জন্য অতিরিক্ত শিডিয়ুলারের প্রয়োজন কেন: এই ক্ষেত্রে রাব্বিটএমকিউয়ের প্রয়োজন কেন?
এই সমাধান দ্বারা, এটি যৌক্তিকভাবে উপস্থিত হয়, যে খরগোশ এমকিউ অপ্রয়োজনীয় হতে পারে, বিশেষত ডাটাবেস ভাগ করার কারণে।
প্রকৃতপক্ষে, যাই হোক না কেন, আমরা দেখেছি যে তাত্ক্ষণিক ধারাবাহিকতায় ডাটাবেস থেকে একটি পোলিং জড়িত ।
সুতরাং, কেন শ্রমিকরা এই ভোটদানের জন্য সরাসরি দায়বদ্ধ হবেন না?
অতএব, আমি আশ্চর্য হই যে ওয়েবে এতগুলি নিবন্ধ কেন বার্তা-ভিত্তিক মিডওয়্যারের প্রচারের সময়, ডাটাবেস সন্ধানের জন্য কঠোর সমালোচনা করে।
নিবন্ধের অংশ:
সরল, কাজের জন্য সঠিক সরঞ্জামটি ব্যবহার করুন: এই দৃশ্যটি কোনও বার্তাপ্রেরণের জন্য চিৎকার করছে। এটি উপরে বর্ণিত সমস্ত সমস্যা সমাধান করে; আর কোনও পোলিং, দক্ষ বার্তা বিতরণ, কাতাগুলি থেকে সম্পূর্ণ বার্তাগুলি পরিষ্কার করার দরকার নেই, এবং কোনও ভাগ করা রাষ্ট্র নেই।
এবং তাত্ক্ষণিক ধারাবাহিকতা, উপেক্ষা?
সংক্ষেপে, এটি সত্যিই মনে হয় কেস যাই হোক না কেন, অর্থাত্ ডাটাবেস ভাগ করে নেওয়া বা না, আমাদের ডাটাবেস পোলিংয়ের দরকার ।
আমি কিছু সমালোচনামূলক ধারণা মিস করেছি?
ধন্যবাদ