এসওএ এবং মাইক্রোসার্ভেসিসের মধ্যে আসলে কী আলাদা


10

দাবি পরিত্যাগী

আমি আশা করি যে কারও পায়ের আঙ্গুলের উপর পা রাখছি না বা হয় ধারণার উত্সাহীদের আপত্তি করছি না

পটভূমি

আমি কোনও স্পষ্ট উত্তর না পেয়ে পরিষেবা ওরিয়েন্টেড আর্কিটেকচার এবং মাইক্রোসার্ভেসিসের মধ্যে প্রকৃত পার্থক্য সন্ধান করছি ।

আমি এই জাতীয় জিনিস পড়ি:

  • এসওএ এর পার্শ্ব প্রতিক্রিয়া
  • এসওএ অ্যান্টি-প্যাটার্ন হচ্ছে
  • মাইক্রোসার্ভেসিস এসওএর ব্যর্থতাগুলি ঠিক করতে এসেছিল
  • ESBs আসলে ESB হয় না পরিবর্তে তারা EAIs হয়
  • বার্তা দালালদের উপর অতিরিক্ত নির্ভরতা
  • বিক্রেতারা এসওএর ধারণাটি অপব্যবহার করছে এবং তাদের পণ্যগুলি বিক্রি করার চেষ্টা করছে
  • এসওএ অনিয়ন্ত্রিতভাবে বৃদ্ধি পায়

কিন্তু তবুও, পরিষেবা ওরিয়েন্টেড আর্কিটেকচার (ধারণা হিসাবে) এবং মাইক্রোসার্ভেসিসের (ধারণা হিসাবে) মধ্যে স্থাপত্যের পার্থক্যের কোনও কিছুই পরিষ্কারভাবে সংজ্ঞা দেয় না

আমি যা বুঝতে পেরেছি তা অনুসারে, তাদের উভয়েরই রয়েছে:

  • পরিষেবা সরবরাহকারী, কেবল একটি কাজ করছেন
  • পরিষেবা গেটওয়ে / ইএসবি গ্রাহকদের কাছে সেগুলি উন্মুক্ত করে
  • পরিষেবা গ্রাহকরা, ইএসবি / পরিষেবা গেটওয়ের মাধ্যমে পরিষেবাগুলি অ্যাক্সেস করছেন

প্রশ্ন

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

দ্রষ্টব্য: আমি বুলেট পয়েন্টগুলিতে আশাবাদী, কেবল শক্ত তথ্যই খুঁজছি না

তথ্যসূত্র

হালনাগাদ

মনে হচ্ছে স্ট্যাকের ওভারফ্লো প্রশ্নে অনুরূপ বিতর্ক ঘটেছে , মাইক্রোসার্ভেসিস ছদ্মবেশে সার্ভিস ওরিয়েন্টেড আর্কিটেকচার হ'ল মতামত বিভক্ত হয়ে।

এসও প্রশ্ন থেকে উপসংহার:

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

নিম্নলিখিতটি সত্য হলে এমএসটি এসওএ, এই সিদ্ধান্তে পৌঁছায়:

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

যদি শেষ প্রশ্নের উত্তরটি যদি না হয় তবে মাইক্রোসার্ভেসিসগুলি জটিল ওয়ার্কফ্লো সিস্টেমগুলি পরিচালনা করতে সক্ষম হবে না, যেমন ক্রেডিট কার্ড ম্যানেজমেন্ট সিস্টেমগুলি বা পুনর্মিলন সিস্টেমগুলি


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

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

এটি হওয়া উচিত, তবে যেমনটি আপনি দেখিয়েছেন, এটি সাধারণত হয় না।
রবার্ট হার্ভে

Martin Fowler's Site (I think he hates it big time)বার্সেলোনায় যখন আমি তার বক্তৃতায় গিয়েছিলাম তখন তা আমার অনুভূতি ছিল না। ট্রেড-অফ সম্পর্কে এবং এমএস সবার পক্ষে উপযুক্ত নয় তা বিবেচনা না করে লোকেরা কীভাবে অন্ধভাবে এই স্থাপত্যে স্থানান্তরিত হয়েছে সে সম্পর্কে তিনি অবগত।
লাইভ

1
মাইক্রোসার্ভেসিস বিপণনের একটি গুচ্ছ। এখানে কোন পার্থক্য নেই. লোকেরা এই বছর আগে করছিল এবং এখন কেউ এটির নাম রাখে এবং এখন এটি নতুন কিছু। আপনি সঠিক এমএস হ'ল এসওএ-এর একটি (বিশেষ নয়) কেস। এটি থেকে কিছু তৈরি করার চেষ্টা করে থামুন।
কাইল জনসন

উত্তর:


12

পরিষেবা সরবরাহকারী, কেবল একটি কাজ করছেন

মূল পার্থক্য, যার প্রকল্পটির ব্যাপক পরিণতি রয়েছে, তা হ'ল মাইক্রোসার্ভেস সহ এই পরিষেবা সরবরাহকারীরা স্বতন্ত্রভাবে মোতায়েনযোগ্য এবং স্কেলযোগ্য

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

তবে এটি কিছু গুরুতর জড়িতগুলির সাথে আসে:

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

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

1
হ্যাঁ, তারা একটি বিস্তৃত পরিমাণে প্রভাব পেয়েছে যে আমি মনে করি যে তাদের স্কেলিবিলিটি / বিতরণকৃত কম্পিউটারিংকে একটি উপযুক্তি হিসাবে (জটিলতা এবং বাণিজ্য বন্ধ হিসাবে অন্যান্য ডাউনসাইড সহ) হিসাবে একটি অ্যাপ্লিকেশন আর্কিটেকচার হিসাবে দেখা উচিত।
তেলস্তিন

1
সুতরাং কোনও স্থাপত্য দৃষ্টিকোণ থেকে, মাইক্রোসার্ভিসেসগুলি হ'ল স্ট্যান্ডলোন মাইক্রো সিস্টেমগুলি একটি কাজ করছে, যখন এসওএ একচেটিয়া অ্যাপ্লিকেশনগুলি ভোক্তাদের সামনে বহনকারী একাধিক পরিষেবা রয়েছে?
রাশাদ

1
আমি এখন আরও বিভ্রান্ত! কোনও একতরফা অ্যাপ্লিকেশনটির দ্বারা মাইক্রোসার্ভেসিস প্রকাশ করা কি সম্ভব? বা এটি কি স্বতন্ত্র মাইক্রো অ্যাপ্লিকেশন হতে হবে?
রাশাদ

1
ডি জোন মাইক্রোসার্ভেসেস বনাম এসওএ- তে এই নিবন্ধটি একবার দেখুন ।
লাইভ

2

এখানে নীচের লাইনটি এসওএ এবং মাইক্রোসার্ভেসিসের মধ্যে একটি স্পষ্ট পার্থক্য হ'ল ধারণা

স্মার্ট এন্ডপয়েন্টস বোবা পাইপ

এসওএর বিপরীতে , এটি বিভ্রান্তিকর পরিষেবা ভোক্তা এবং প্রযোজকদের উপর নির্ভর করবে, ট্রাফিক পরিচালনা, বার্তা বিন্যাসের অনুবাদ এবং বাহ্যিক সিস্টেমে পরিষেবা অর্কেস্ট্রটোরেশন যেমন ESB, পরিষেবা অর্কেস্টেটর, বার্তা ব্রোকার।

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