আমার কি ডাব্লুসিএফ থেকে নর্সভাইসবাসে অদলবদল করা উচিত?


13

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

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

সুতরাং, আমার প্রশ্নটি হ'ল: এনএসওয়ারবুসকে নিয়োগ দেওয়া কি কোনও বুদ্ধিমান ধারণা মতো শোনাচ্ছে বা এর সাথে সম্পর্কিত অন্য কোনও পরামর্শ / বাস্তব বিশ্বের অভিজ্ঞতা আছে কি? আমি অনুমান করি যে আমি একটি নতুন প্রযুক্তি প্রবর্তন করতে চিন্তিত যে সম্পর্কে আমি তুলনামূলকভাবে খুব কম জানি এবং এটি সুরক্ষিত করা, নির্ভরযোগ্য উপায়ে সবকিছু স্থাপন করা, পথের মধ্যে গ্যাচচা ইত্যাদি বিষয়গুলির সাথে সমস্যার মুখোমুখি .. আমি "সোনার- "আর্কিটেকচারের প্রলেপ দেওয়া, এবং চকচকে এমন কিছু চয়ন করা যা আমাকে বাস্তবায়নে বনাম ডেকে আনবে বনাম ডাব্লুসিএফের সাথে লেগে থাকা এবং কেবল এটি আমার জন্য কাজ করে ..

ধন্যবাদ!


1
> "সংযোগ বিচ্ছিন্ন মোড" সমর্থন করুন (আমাদের ত্রুটি সহিষ্ণু হওয়া দরকার) আপনি কি এখনও ক্লায়েন্টের পক্ষে নিজেকে অনেক দোষ সহনশীলতা তৈরি করতে যাচ্ছেন না? সার্ভারে এমএসএমকিউয়ের ত্রুটি সহনশীলতা কোনও সমস্যা হলে রাষ্ট্র পুনরুদ্ধার করার জন্য দুর্দান্ত তবে আমি এখনও দেখতে পাচ্ছি যে আপনি যা পছন্দ করেছেন তা ক্লায়েন্টের পক্ষে একটি বিশাল মাথা ব্যথা।
ব্রায়ান

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

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

ডাব্লুসিএফের এমএসএমকিউ বাইন্ডিং রয়েছে ... আমি বেশ কয়েকটি বৃহত আকারের সফল অ্যাপ্লিকেশনগুলির ঘনিষ্ঠভাবে জ্ঞাত যা এটি ব্যবহার করে। বলেছিল, আমি এনএসওয়ারবুসকেও পছন্দ করি তবে এটি একটি ভিন্ন জিনিস করে।
কাইল হজসন

উত্তর:


12

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

আমার মনে, nServiceBus সত্যিই একটি বৃহত্তর বিতরণ পরিবেশে জ্বলতে শুরু করবে। উদাহরণস্বরূপ, নিম্নলিখিত উদাহরণটি ধরুন (এটি ডাব্লুসিএফ সহ পৃথিবীতে নরক তবে এনসিভারবাসের সাহায্যে সহজ)

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

ডাব্লুসিএফের এমএসএমকিউ বাইন্ডিং রয়েছে

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

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

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

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


7

এগুলি 1 প্রতিস্থাপনের জন্য 1 নয় - আপনি ডাব্লুসিএফের শেষ পয়েন্ট থেকে বার্তা ফিড করতে বা বার্তা আনতে অনেকবার এনএসওয়্যারবাস ব্যবহার করবেন।

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


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

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