আমি বুঝতে পারি না কখন আমি এসএনএস বনাম এসকিউএস ব্যবহার করব এবং কেন তারা সর্বদা একত্রে মিলিত হয়?
আমি বুঝতে পারি না কখন আমি এসএনএস বনাম এসকিউএস ব্যবহার করব এবং কেন তারা সর্বদা একত্রে মিলিত হয়?
উত্তর:
এসএনএস হ'ল একটি বিতরণিত প্রকাশ-সাবস্ক্রাইব সিস্টেম। বার্তাগুলি গ্রাহকগণ হিসাবে এবং যখন সে প্রকাশকদের দ্বারা এসএনএস-এ প্রেরণ করা হয় তখন তাদের কাছে ধাক্কা দেওয়া হয়।
এসকিউএস বিতরণ করা হয় কুইউিং সিস্টেম। বার্তাগুলি গ্রহণকারীদের দিকে ঠেলা যায় না। রিসিভার আছে পোলের বা টান থেকে বার্তা SQS । বার্তা একসাথে একাধিক রিসিভারের দ্বারা গ্রহণ করা যায় না। যে কোনও একটি গ্রহণকারী একটি বার্তা গ্রহণ করতে পারে, প্রক্রিয়া করতে এবং এটি মুছতে পারে। অন্যান্য গ্রহণকারীরা পরে একই বার্তা গ্রহণ করে না। পোলিং সহজাতভাবে এসকিউএসে বার্তা সরবরাহের ক্ষেত্রে কিছুটা বিলম্বিতা সূচনা করে এসএনএসের বিপরীতে যেখানে বার্তা গ্রাহকদের কাছে তাত্ক্ষণিকভাবে ধাক্কা দেওয়া হয়। এসএনএস বেশ কয়েকটি শেষ পয়েন্ট যেমন ইমেল, এসএমএস, HTTP শেষ পয়েন্ট এবং এসকিউএস সমর্থন করে। আপনি যদি অজানা নম্বর এবং গ্রাহকদের প্রকারের বার্তা পেতে চান তবে আপনার এসএনএস দরকার।
আপনাকে সর্বদা এসএনএস এবং এসকিউএস দম্পতি করতে হবে না। আপনার এসএনএস এসকিউএস বাদে ইমেল, এসএমএস বা HTTP শেষ পয়েন্টে বার্তা প্রেরণ করতে পারে। এসকিউএসের সাথে এসএনএস সংযুক্ত করার সুবিধা রয়েছে। আপনার হোস্টগুলিতে সংযোগ স্থাপনের জন্য আপনি কোনও বাহ্যিক পরিষেবা না চাইতে পারেন (ফায়ারওয়াল আপনার হোস্টের বাইরে থেকে সমস্ত আগত সংযোগগুলি ব্লক করতে পারে)। আপনার শেষ পয়েন্টটি কেবলমাত্র ভারী বার্তাগুলির কারণে মারা যেতে পারে। ইমেল এবং এসএমএস আপনার বার্তাগুলি দ্রুত প্রক্রিয়াকরণের পছন্দ নাও করতে পারে। এসকিউএসের সাথে এসএনএসকে সংযুক্ত করে, আপনি আপনার গতিতে বার্তা পেতে পারেন। এটি ক্লায়েন্টগুলিকে অফলাইনে থাকতে, নেটওয়ার্কের প্রতি সহনশীল এবং ব্যর্থতার হোস্ট করে। আপনি গ্যারান্টিযুক্ত বিতরণও অর্জন করতে পারেন। আপনি যদি কোনও এসএনএসকে কোনও শেষ প্রান্তে বা ইমেল বা এসএমএসে বার্তা প্রেরণের জন্য কনফিগার করেন তবে বার্তা প্রেরণে বেশ কয়েকটি ব্যর্থতার ফলে বার্তা বাদ দেওয়া হতে পারে।
এসকিউএস মূলত অ্যাপ্লিকেশনগুলি ডিকুয়াল করতে বা অ্যাপ্লিকেশনগুলিকে সংহত করতে ব্যবহৃত হয়। বার্তাগুলি অল্প সময়ের জন্য (সর্বাধিক 14 দিনের) জন্য এসকিউএসে সংরক্ষণ করা যেতে পারে। এসএনএস বেশ কয়েকটি গ্রাহকের কাছে বার্তার বিভিন্ন কপি বিতরণ করে। উদাহরণস্বরূপ, যাক আপনি বেশ কয়েকটি স্টোরেজ সিস্টেমে কোনও অ্যাপ্লিকেশন দ্বারা উত্পন্ন ডেটা প্রতিলিপি করতে চান say আপনি এসএনএস ব্যবহার করতে পারেন এবং একাধিক গ্রাহকদের কাছে এই ডেটা প্রেরণ করতে পারেন, প্রতিটি এটি বিভিন্ন স্টোরেজ সিস্টেমে (s3, আপনার হোস্টের হার্ড ডিস্ক, ডাটাবেস ইত্যাদিতে প্রাপ্ত বার্তাগুলির প্রতিলিপি) প্রতিলিপি করে।
এখানে দুটিয়ের তুলনা করা হল:
সত্তা টাইপ
বার্তা খরচ
ব্যবহারের ক্ষেত্রে
অধ্যবসায়
গ্রাহক প্রকার
নমুনা অ্যাপ্লিকেশন
অ্যাডস ডক থেকে:
অ্যামাজন এসএনএস অ্যাপ্লিকেশনগুলিকে "ধাক্কা" প্রক্রিয়াটির মাধ্যমে একাধিক গ্রাহককে সময়-সমালোচনা বার্তা প্রেরণের অনুমতি দেয়, পর্যায়ক্রমে আপডেটগুলির জন্য "পোল" চেক করার প্রয়োজনীয়তা দূর করে।
আমাজন এসকিউএস হ'ল একটি বার্তা সারি পরিষেবা যা বিতরণ অ্যাপ্লিকেশনগুলি একটি পোলিং মডেলের মাধ্যমে বার্তাগুলি বিনিময় করতে ব্যবহৃত হয় এবং প্রতিটি উপাদান একযোগে উপলব্ধ না করেই উপাদানগুলি প্রেরণ এবং গ্রহণগুলি ডিকুয়াল করতে ব্যবহৃত হতে পারে।
http://docs.aws.amazon.com/sns/latest/dg/SendMessageToSQS.html
এই থ্রেডের উত্তরগুলি কিছুটা পুরানো হয়ে গেছে, তাই আমি এতে আমার দুটি সেন্ট যুক্ত করার সিদ্ধান্ত নিয়েছি:
আপনি এসএনএসকে একটি traditional তিহ্যবাহী বিষয় হিসাবে দেখতে পারেন যাতে আপনার একাধিক সদস্য থাকতে পারে ers উদাহরণস্বরূপ লাম্বদা এবং এসকিউএস সহ একটি প্রদত্ত এসএনএস বিষয়ের জন্য আপনার কাছে ভিন্ন ভিন্ন গ্রাহক থাকতে পারে। আপনি এসএনএস ব্যবহার করে এসএমএস বার্তা বা এমনকি ইমেলগুলিও বক্সের বাইরে পাঠাতে পারেন। এসএনএসে বিবেচনার জন্য একটি বিষয় হ'ল একবারে কেবল একটি বার্তা (বিজ্ঞপ্তি) পাওয়া যায়, তাই আপনি ব্যাচিং থেকে সুবিধা নিতে পারবেন না।
অন্যদিকে, এসকিউএস , একটি ক্যু ছাড়া আর কিছুই নয়, যেখানে আপনি বার্তা সঞ্চয় করেন এবং একজন গ্রাহক সাবস্ক্রাইব করেন (হ্যাঁ, আপনি একটি এসকিউএস ক্যুতে এন গ্রাহক থাকতে পারেন, তবে এটি খুব দ্রুত অগোছালো হয়ে যাবে এবং সমস্ত গ্রাহক বিবেচনা করে পরিচালনা করা আরও কঠিন হবে) কমপক্ষে একবার বার্তাটি পড়তে হবে, সুতরাং এসএসএসএসের সাথে এই ব্যবহারের ক্ষেত্রে এসএনএসের সাথে একত্রিত হওয়া আরও ভাল S যেখানে এসএনএস এন এসকিউ ক্যুতে বিজ্ঞপ্তি দেয় এবং কেবলমাত্র এই বার্তাগুলি প্রক্রিয়া করার জন্য প্রতিটি কাতারে একজন গ্রাহক থাকে) জুন 28, 2018 পর্যন্ত, এডাব্লুএস এসকিউএসের জন্য লাম্বদা ট্রিগার সমর্থন করে , যার অর্থ আপনার পোল করতে হবে নাআর বার্তা জন্য। তদতিরিক্ত, ব্যর্থতার ক্ষেত্রে বার্তা প্রেরণের জন্য আপনি আপনার উত্স এসকিউএস কাতারে একটি ডিএলকিউ কনফিগার করতে পারেন। সাফল্যের ক্ষেত্রে, বার্তাগুলি স্বয়ংক্রিয়ভাবে মুছে ফেলা হয় (এটি আরও একটি দুর্দান্ত উন্নতি), সুতরাং আপনি নিজে থেকে মুছে ফেলার ক্ষেত্রে যদি ইতিমধ্যে প্রক্রিয়াজাত বার্তাগুলি পুনরায় পড়ার বিষয়ে আপনাকে উদ্বিগ্ন হওয়ার দরকার নেই। আমি লাম্বদা পুনরায় চেষ্টা আচরণের দিকে একবার নজর দেওয়ার পরামর্শ দিইএটি কীভাবে কাজ করে তা আরও ভালভাবে বুঝতে। এসকিউএস ব্যবহার করার একটি দুর্দান্ত সুবিধা হ'ল এটি ব্যাচ প্রসেসিং সক্ষম করে। প্রতিটি ব্যাচে 10 টি বার্তা থাকতে পারে, সুতরাং যদি 100 টি বার্তা আপনার এসকিউএস কাতারে একবারে উপস্থিত হয়, তবে 10 লাম্বদা ফাংশনগুলি স্পিন হয়ে যাবে (লাম্বদার জন্য ডিফল্ট স্বতঃ-স্কেলিং আচরণ বিবেচনা করে) এবং তারা এই 100 টি বার্তা প্রক্রিয়া করবে (রাখুন মনে রাখবেন বাস্তবে যেমন এটি একটি সুখী পথ, ল্যাম্বডা আরও কয়েকটি ফাংশন ব্যাচের 10 টি বার্তার চেয়ে কম পড়তে পারে তবে আপনি ধারণাটি পাবেন)। আপনি যদি এসএনএস-এ এই একই 100 টি বার্তা পোস্ট করেন তবে 100 লাম্বডা ফাংশনগুলি স্পিন হয়ে যাবে, অযথা খরচ বাড়িয়ে দেবে এবং আপনার ল্যাম্বদা সম্মতিটি ব্যবহার করবে। তবে, আপনি যদি এখনও traditionalতিহ্যবাহী সার্ভারগুলি চালাচ্ছেন (ইসি 2 উদাহরণগুলির মতো), আপনার এখনও বার্তাগুলির জন্য পোলিং করতে হবে এবং ম্যানুয়ালি সেগুলি পরিচালনা করতে হবে।
আপনার কাছে ফিফো এসকিউএস কিউ রয়েছে যা বার্তাগুলির সরবরাহের আদেশের গ্যারান্টি দেয়। এটি ল্যাম্বডা দ্বারা সমর্থিত ট্রিগার নয়, সুতরাং এই ধরণের সারি নির্বাচন করার সময়, মনে রাখবেন যে ভোটদান এখনও প্রয়োজনীয় এবং সেই সাথে বার্তাগুলি নিজেই মুছতে হবে।
যদিও তাদের ব্যবহারের ক্ষেত্রে কিছুটা ওভারল্যাপ রয়েছে, এসকিউএস এবং এসএনএস উভয়েরই নিজস্ব স্পটলাইট রয়েছে।
এসএনএস ব্যবহার করুন যদি:
এসকিউএস ব্যবহার করুন যদি:
এডাব্লুএস এসএনএস হ'ল একটি প্রকাশক গ্রাহক নেটওয়ার্ক, যেখানে গ্রাহকরা বিষয়গুলিতে সাবস্ক্রাইব করতে পারবেন এবং যখনই কোনও প্রকাশক সেই বিষয়ে প্রকাশিত বার্তা পাবেন।
এডাব্লুএস এসকিউএস একটি সারি পরিষেবা, যা একটি কাতারে বার্তা সঞ্চয় করে। এসকিউএস কোনও বার্তা সরবরাহ করতে পারে না, যেখানে এসকিউএসটি পোল করার জন্য এবং এসকিউএস থেকে বার্তাগুলি দখল করার জন্য একটি বাহ্যিক পরিষেবা (ল্যাম্বদা, ইসি 2 ইত্যাদি) প্রয়োজন।
এসএনএস এবং এসকিউএস একসাথে একাধিক কারণে ব্যবহার করা যেতে পারে।
ভোটদানের মাধ্যমে পরবর্তী ব্যবহারের জন্য বিভিন্ন ধরণের গ্রাহক থাকতে পারে যেখানে কিছুকে অবিলম্বে বার্তাগুলি সরবরাহ করার প্রয়োজন হয়, যেখানে কারও কারও বার্তা অবিরত রাখতে হবে require এই লিঙ্কটি দেখুন ।
দ্য " ফ্যানআউট প্যাটার্ন ।" এটি বার্তাগুলির অ্যাসক্রোনাস প্রক্রিয়াজাতকরণের জন্য। এসএনএস-এ কোনও বার্তা প্রকাশিত হলে এটি সমান্তরালে একাধিক এসকিউএস কাতারে বিতরণ করতে পারে। সমান্তরালে কোনও অ্যাপ্লিকেশনটিতে থাম্বনেইলগুলি লোড করার সময় এটি দুর্দান্ত হতে পারে, যখন চিত্রগুলি প্রকাশিত হচ্ছে। এই লিঙ্কটি দেখুন ।
অবিরাম স্টোরেজ । যখন কোনও পরিষেবা যা বার্তা প্রসেস করতে চলেছে তখন এটি নির্ভরযোগ্য নয়। এর মতো ক্ষেত্রে, যদি এসএনএস কোনও পরিষেবাতে কোনও বিজ্ঞপ্তি চাপায় এবং সেই পরিষেবাটি অনুপলব্ধ থাকে, তবে বিজ্ঞপ্তিটি হারিয়ে যাবে। অতএব আমরা স্থির স্টোরেজ হিসাবে এসকিউএস ব্যবহার করতে পারি এবং তারপরে এটি প্রক্রিয়া করতে পারি।
সহজ কথায়, এসএনএস - পুশ মেকানিজম এবং গ্রাহকের কোনও প্রয়োজন নেই ব্যবহার করে গ্রাহককে বার্তা পাঠায়। এসকিউএস - এটি একটি বার্তা সারি পরিষেবা যা কোনও পোলিং মডেলের মাধ্যমে বার্তাগুলি বিনিময় করতে বিতরণ অ্যাপ্লিকেশনগুলির দ্বারা ব্যবহৃত হয়, এবং উপাদানগুলি প্রেরণ এবং প্রাপ্তিগুলি ডিকোপল করতে ব্যবহৃত হতে পারে।
একটি সাধারণ প্যাটার্ন হ'ল এসএনএসকে অ্যামাজন এসকিউএস কাতারে বার্তা প্রকাশের জন্য নির্ভরযোগ্যভাবে এক বা একাধিক সিস্টেমের উপাদানগুলিকে সংশ্লেষজনকভাবে বার্তা প্রেরণ করতে। Https://aws.amazon.com/sns/faqs/ থেকে রেফারেন্স
visibilityTimeout
সেট করা থাকে, অন্য কোনও সিস্টেমের চেয়ে অন্য সিস্টেমগুলি প্রক্রিয়া করার পরে বার্তাটি গ্রাহ্য করতে সক্ষম হবে না।