এসওএর পরিষেবা নকশার মূল নীতিগুলির মধ্যে একটি হ'ল সার্ভিস কমপোসিবিলিটি নীতি ( https://en.wikedia.org/wiki/Service_composability_pr صول )।
ধারণাটি হ'ল বিল্ডিং ব্লক হিসাবে বিদ্যমান পরিষেবাগুলি ব্যবহার করে নতুন পরিষেবাদি রচনা করার মাধ্যমে, কেউ দ্রুত নতুন পরিষেবাদি বিকাশ করতে পারে। আপনি যখন নতুন পদ্ধতিগুলি প্রয়োগ করেন তখন কীভাবে আপনি বস্তুর উত্থাপিত পদ্ধতিগুলি কল করেন তার সাদৃশ্য of এখান থেকেই এসওএ থেকে উত্পাদনশীলতা বৃদ্ধির অনেকাংশ আসার কথা রয়েছে।
বাস্তবে কেউ কি বাস্তবে এটি করে? আমি এটি লিখিত পাঠ্যে নিরবচ্ছিন্নভাবে পুনরাবৃত্তিটি দেখেছি, তবে বাস্তব জগতের বাস্তবায়নগুলি আমি নিজেই অনুভব করেছি। বেশিরভাগ পাঠ্যও লেনদেন পরিচালনার কোনও উল্লেখ বাদ দেয় যা আমার কাছে কমপোজেবল পরিষেবা উপলব্ধি করার ক্ষেত্রে সবচেয়ে বড় বাধা বলে মনে হয়।
প্রথমত, কোনও অপ্রয়োজনীয় পরিষেবা রচনা করার আগে আপনার অবশ্যই লেনদেনের সমস্যাটি মোকাবেলা করতে হবে। অবশ্যই, উদাহরণটিতে যদি "ফাইন্ডকোয়ারটাইম ()" এবং "রাইটারলগমেসেজ ()" পরিষেবাদি থাকে তবে লেনদেনের বিষয়ে চিন্তা করা সহজ নয়, তবে "ডিপোজিটমনি ()" এবং "প্রত্যাহারমনি ()" এর মতো বাস্তব বিশ্বের উদাহরণ থাকার পরেও নয়।
আমি দুটি বিকল্প জানি:
- ডাব্লুএস-পারমাণবিক লেনদেন বা এই জাতীয় মাধ্যমে বাস্তব লেনদেন প্রয়োগ করুন
- ক্ষতিপূরণ-ভিত্তিক সমাধান কার্যকর করুন যা "ক্যান্সেলএ ()" বা "বি" তে কল ব্যর্থ হলে সামসুছের সাথে A এর কলকে ক্ষতিপূরণ দেয়
এগুলি উভয়ই আমার কাছে অত্যন্ত সমস্যাযুক্ত / অকেজো করার ঘনিষ্ঠ বলে মনে হচ্ছে:
- ডাব্লুএস-পারমাণবিক লেনদেন
- একটি অনেক জটিলতা, সবচেয়ে পরামর্শ যে আমি পাওয়া মাত্র সতর্ক করে "ব্যথা গাধা মধ্যে, এটি করবেন না"
- সমর্থন সীমাবদ্ধ, উদাহরণস্বরূপ আপনি যদি ওপেন সোর্স ESBs নেন তবে মূল বিকল্প সার্ভিস মিক্স, খচ্চর বা ডাব্লুএসও 2 এটি সমর্থন করে না
- ক্ষতিপূরণ
- ক্ষতিপূরণ হ্যান্ডলিং বাস্তবায়ন আমার কাছে খুব জটিল বলে মনে হচ্ছে। যদি পরিষেবা A সাফল্য পায় এবং আমরা কখনই পরিষেবা বি থেকে উত্তর পাই না এবং এটি ব্যর্থ হয়েছে বা সফল হয়েছে কিনা তা আমরা জানি না? এ জাতীয় যুক্তি ম্যানুয়ালি হ্যান্ডেল করা (কম্পোজিটিং পরিষেবাদির প্রয়োগকারী হিসাবে) আমাকে আমার কব্জি কেটে ফেলাতে বাধ্য করে - এটি কোনও ধরণের সরঞ্জাম আমার জন্য করা উচিত।
- অ-তুচ্ছ পরিষেবাদিতে আপনার কীভাবে ক্ষতিপূরণ পদ্ধতি থাকতে পারে তা আমি দেখতেও চাই না। আপনার পরিষেবা এটিকে "ডিপোজিটমনি ()" বলুন এবং এটি সফল হয়, অন্য কিছু ক্রিয়া দ্রুত অর্থ অন্যত্র স্থানান্তর করে এবং তারপরে আমরা "ক্ষতিপূরণপোসিটমনি ()" পাই, এখন আমরা কী করব? কৃমি একটি বড় ক্যান মত মনে হচ্ছে।
আমার কাছে মনে হয় যে পরিষেবা রচনাটি এমন একটি মৌলিক এসওএ নীতি যা আপনি যদি (সুবিধে) পরিষেবা রচনা করতে না পারেন তবে আপনি সত্যই এসওএর সুবিধা পাবেন না । বাস্তবতা কি? 90% এসওএ ব্যবহারকারী প্রকৃত পরিষেবাগুলির কোনও ক্ষতি ছাড়াই "পঙ্গু এসওএ" ব্যবহার করেন? বা বেশিরভাগ ব্যবহারকারীরাই প্রকৃতপক্ষে পরিষেবা রচনাটি ব্যবহার করেন এবং আমি এর অসুবিধাটি অতিরঞ্জিত করছি?