আমি এটি সন্ধান করেছি এবং এটি 2 সিস্টেমের মধ্যে বার্তা প্রেরণ করত।
কিন্তু কেন? আপনি শুধু একটি ব্যবহার করবেন না কেন Database
?
কিছু বৈশিষ্ট্য অবশ্যই ActiveMQ
আছে যা Databases
আছে না?
আমি এটি সন্ধান করেছি এবং এটি 2 সিস্টেমের মধ্যে বার্তা প্রেরণ করত।
কিন্তু কেন? আপনি শুধু একটি ব্যবহার করবেন না কেন Database
?
কিছু বৈশিষ্ট্য অবশ্যই ActiveMQ
আছে যা Databases
আছে না?
উত্তর:
এটি দুটি বিতরণ প্রক্রিয়াগুলির মধ্যে নির্ভরযোগ্যভাবে যোগাযোগ করতে ব্যবহৃত হয়।
হ্যাঁ, আপনি দুটি প্রক্রিয়ার মধ্যে কথোপকথনের জন্য একটি ডেটাবেসে বার্তা সংরক্ষণ করতে পারেন , তবে, বার্তাটি পাওয়ার সাথে সাথে আপনাকে DELETE
বার্তাটি দিতে হবে, এর অর্থ একটি সারি INSERT
এবং DELETE
প্রতিটি বার্তার জন্য।
আপনি যখন প্রতি সেকেন্ডে কয়েক হাজার বার্তাগুলি যোগাযোগ করার বিষয়টি স্কেল করার চেষ্টা করেন , তখন ডাটাবেসগুলি ঝরে পড়ে ।
ActiveMQ
অন্যদিকে ম্যাসেজ-ওরিয়েন্টেড মিডল ওয়্যার [এমওএম] সেগুলি ব্যবহারের ক্ষেত্রে পরিচালনা করার জন্য নির্মিত।
তারা ধরে নিয়েছে যে স্বাস্থ্যকর সিস্টেমে থাকা বার্তাগুলি খুব দ্রুত মুছে ফেলা হবে এবং ওভারহেড এড়াতে অপ্টিমাইজেশন করতে পারে ।
এটি কোনও এসকিউএল কোয়েরি করে গ্রাহককে নতুন বার্তার জন্য পোল দেওয়ার পরিবর্তে গ্রাহকদের বার্তাগুলি ঠেলে দিতে পারে।
এটি সিস্টেমে প্রেরণ করা নতুন বার্তাগুলি প্রক্রিয়াজাতকরণের সাথে জড়িত বিলম্বকে আরও হ্রাস করে।
ActiveMQ
, বা সাধারণভাবে সমস্ত বার্তা ওরিয়েন্টেড মিডলওয়্যার (এমওএম) বাস্তবায়ন দুটি অ্যাপ্লিকেশন, বা একটি অ্যাপ্লিকেশনের ভিতরে দুটি উপাদানগুলির মধ্যে বার্তা প্রেরণের উদ্দেশ্যে তৈরি করা হয়েছে।
মূলত, এমওএম এবং ডাটাবেসগুলি একটি সাধারণ ভিত্তি ভাগ করে যাতে তারা পড়তে এবং লিখতে পারে এমন লেনদেনমূলক এবং ধ্রুবক ডেটা স্টোরেজ সরবরাহ করে।
বড় পার্থক্য হ'ল ব্যবহারের প্যাটার্ন - যেখানে ডাটাবেসগুলি খুব সাধারণ এবং একাধিক টেবিলের উপর জটিল অনুসন্ধানের জন্য অনুকূলিত হয়, এমওএম বার্তা পড়ার জন্য অনুকূলিত হয়, একবারে ফ্যাশন [কাতার] এর মতো ফিফোতে।
JMS
যা একটি এপিআই অ্যাক্টিভ কিউ বাস্তবায়ন জাভা এন্টারপ্রাইজ অ্যাপ্লিকেশনগুলির একটি গুরুত্বপূর্ণ ভিত্তি। এটি বার্তাগুলিকে একটি সাধারণ ফর্ম্যাট এবং শব্দার্থক ভাগ করে তোলে যা বিভিন্ন অ্যাপ্লিকেশনগুলির মধ্যে সংহতকরণকে আরও সহজ করে তোলে।
অবশ্যই, সেখানে আরো বিস্তারিত বৈশিষ্ট্য শুধুমাত্র ActiveMQ আছে, মত টেলিগ্রাম প্রোটোকল অনেক আছে OpenWire
, STOMP
এবং MQTT
, JMS
, EIP
একসঙ্গে অ্যাপাচি উটের, "অনুরোধ / উত্তর" এবং "প্রকাশ / সাবস্ক্রাইব", JMS গণনার জমকালো অনুষ্ঠান, ক্লাস্টারিং মত বার্তা ধরন (সঙ্গে " ব্রোকারদের নেটওয়ার্ক)), যা স্কেলিং এবং বিতরণ ইত্যাদির অনুমতি দেয় etc. ইত্যাদি
যদি আপনি আগ্রহী হন তবে আপনি সেগুলি কিছুটা পড়তে হবে কারণ সেগুলি বরং বড়।
ActiveMQ
দুর্দান্ত সময়সূচী সমর্থন রয়েছে যার অর্থ আপনি কোনও নির্দিষ্ট সময়ে আপনার বার্তা প্রেরণের সময়সূচী করতে পারেন ।
আমরা এই বৈশিষ্ট্যটি স্বাস্থ্যের যত্নের দৃশ্যে তাদের ওষুধের বিবরণগুলি আপলোড করে রোগীদের medicationষধের অনুস্মারক প্রেরণে ব্যবহার করেছি।
Scheduled Jobs
একই উদ্দেশ্যে ওরাকল ডাটাবেস ব্যবহার করেছি।
আরডিবিএমএস সহ, আপনি যখন একটি সারি ডেটা প্রক্রিয়া করেন, আপনি সাধারণত একটি পতাকা আপডেট করেন যা নির্দেশ করে যে সারিটি প্রক্রিয়াজাত করা হয়েছে যাতে প্রক্রিয়া পুনরাবৃত্তি না হয়।
তবে, বার্তা সারি সহ, আপনাকে কেবল একটি বার্তা স্বীকার করতে হবে এবং পরবর্তী গ্রাহকরা পরবর্তীটির প্রক্রিয়া করবে।
পার্থক্যটি হ'ল UPDATE
একটি acknowledge
আরডিবিএমএসের স্ট্যাটমেন্টটি অ্যাকটিভেমিকের তুলনায় সত্যই ধীর অপারেশন ।
আমি নিম্নলিখিত জোর দিতে চাই:
ডিউপলড : সিস্টেমগুলি সংযুক্ত না হয়ে যোগাযোগ করতে সক্ষম হয়। ক্যু সিস্টেমের মধ্যে রয়েছে, একটি ব্যবস্থা ব্যর্থতা কখনই অন্যকে প্রভাবিত করতে পারে না কারণ যোগাযোগ সারি মাধ্যমে করা হয়। সিস্টেমগুলি যখন কাজ শুরু করে তখন তারা কাজ করে।
পুনরুদ্ধার সমর্থন : কুইউজে থাকা বার্তাগুলি নিজে থেকেই রইল। কাতারে ব্যর্থ হলে বার্তাগুলি পুনরুদ্ধার করা যেতে পারে।
নির্ভরযোগ্য যোগাযোগ : ক্লায়েন্টের অনুরোধগুলি প্রক্রিয়া করে এমন একটি সিস্টেম বিবেচনা করুন। সাধারণ ক্ষেত্রে সিস্টেমটি প্রতি মিনিটে 100 টি অনুরোধ গ্রহণ করে। যখন অনুরোধের গড় গড় ছাড়িয়ে যায় তখন এই সিস্টেমটি অবিশ্বাস্য। সেক্ষেত্রে সারি অনুরোধগুলি পরিচালনা করতে পারে এবং এটি বার্তাটি ভঙ্গ না করে সিস্টেম থ্রুপুট এর উপর ভিত্তি করে ধাক্কা দিতে পারে।
অ্যাসিনক্রোনাস : ক্লায়েন্ট সার্ভার যোগাযোগ অ-ব্লক করা। একবার ক্লায়েন্ট সার্ভারে অনুরোধ পাঠালে এটি প্রতিক্রিয়া অপেক্ষা না করে অন্য ক্রিয়াকলাপ করতে পারে। যখন প্রতিক্রিয়ার এটি ক্লায়েন্ট পেয়েছে তখন যে কোনও সময় এটি পরিচালনা করতে পারে।
উইকিপিডিয়া থেকে
অ্যাপাচি অ্যাক্টিভএমকিউ একটি সম্পূর্ণ জাভা মেসেজ সার্ভিস (জেএমএস) ক্লায়েন্টের সাথে একত্রে জাভাতে লিখিত একটি ওপেন সোর্স বার্তা ব্রোকার। এটি "এন্টারপ্রাইজ বৈশিষ্ট্যগুলি" সরবরাহ করে যা এক্ষেত্রে একাধিক ক্লায়েন্ট বা সার্ভারের মাধ্যমে যোগাযোগকে উত্সাহিত করবে
আপনার প্রশ্নগুলি সম্পর্কিত:
আপনি কেন একটি ডাটাবেস ব্যবহার করবেন না?
আপনার অস্থায়ী ডেটার জন্য নয়, অবিরাম ডেটার জন্য ডাটাবেস ব্যবহার করা উচিত। ধরে নিন যে আপনাকে প্রেরকের কাছ থেকে প্রাপকের কাছে একটি বার্তা পাঠাতে হবে। বার্তাটি পাওয়ার সময়, রিসিভার একটি ক্রিয়াকলাপ চালায় (গ্রহণ, প্রক্রিয়া এবং ভুলে যান)। এই বার্তাটি প্রক্রিয়া করার পরে, আপনার কোনও বার্তা প্রয়োজন নেই। এই ক্ষেত্রে, অবিচ্ছিন্ন ডাটাবেসে বার্তাটি সংরক্ষণ করা সঠিক সমাধান নয়।
আপনি যদি মেসেজিং সিস্টেমের পরিবর্তে ডাটাবেস ব্যবহার করেন তবে ডাটাবেসে বার্তা সন্নিবেশ করা এবং মুছে ফেলার বিষয়ে আমি @ হীরাম চিরিনো উত্তরের সাথে সম্পূর্ণরূপে সম্মত ।
এই নিবন্ধ এবং এই নিবন্ধ থেকে উপকারিতা
অ্যাক্টিভএমকিউতে অবশ্যই ডেটাবেসগুলি নেই?
এখানে অনেক. কটাক্ষপাত আছে ডকুমেন্টেশন আরো বিস্তারিত জানার জন্য পাতা। ব্যবহারের ক্ষেত্রেও একবার দেখুন ।
অ্যাক্টিভ কিউ এর ইন্টার্নালগুলি বুঝতে এই উপস্থাপনাটি একবার দেখুন ।
মনে করুন আপনার কাছে এমন একটি অ্যাপ্লিকেশন রয়েছে যা একই সাথে একাধিক স্থানে ব্যবহৃত হচ্ছে। এছাড়াও মনে করুন আপনার অ্যাপ্লিকেশনটিতে প্রতি মিনিটে অনুরোধের পরিমাণ বা এমন কিছু হ্যান্ডল করতে হয়েছে যাতে সাধারণ ডিবি অপারেশনগুলি এই ধরনের ক্রিয়াকলাপ পরিচালনা করতে পারে না, অ্যাক্টিভ্যাক্ট ম্যাসেজ প্রসেসিং হিসাবে কাজ করে যা সমস্ত বার্তাগুলিকে কাতারে নিয়ে যায়, তাই আপনার অ্যাপ্লিকেশনটির কোনও এক জায়গায় ক্র্যাশ হয়ে গেলেও Active অন্য অবস্থান প্রভাবিত হবে না।