কীভাবে মাইক্রোসার্ভেসিসে স্থানান্তর করা একটি রান-টাইম সমস্যা তৈরি করে?


104

নিম্নলিখিত ভাষ্যকার লিখেছেন :

মাইক্রোসার্ভেসেস আপনার সাংগঠনিক কর্মহীনতাকে একটি সংকলন সময় সমস্যা থেকে রান সময় সমস্যার দিকে সরিয়ে দেয়।

এই ভাষ্যকার এই বিষয়টি প্রসারিত করে বলেছেন:

বৈশিষ্ট্যটি বাগ নয়। দৌড়ানোর সময় সমস্যা => প্রোড ইস্যুগুলি => শক্তিশালী, দায়বদ্ধদের কর্মহীনতার বিষয়ে দ্রুত প্রতিক্রিয়া

এখন আমি তা মাইক্রোসার্ভেসিস সহ পেয়েছি :

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

আমার প্রশ্ন: মাইক্রোসার্ভেসিসে স্থানান্তর একটি রান-টাইম সমস্যা তৈরি করার অর্থ কী?


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

আপনি যদি মাইক্রোসার্ভিসেস ব্যবহারের সাথে জড়িত সমস্যাগুলির অধ্যয়ন করছেন তবে ফওলার নিবন্ধটি অবশ্যই পড়তে হবে। martinfowler.com/articles/microservices.html @ রিচার্ড টিংলে যেমন বলেছিলেন তেমন আমি বিশ্বাস করি যে রানটাইম বনাম রানাইটাইম কেবল সংকলনের ঘটনা নয়। এবং সত্যিই একমত হবেন না যে একটি প্রডাকশন ইস্যু থাকা উন্নয়নের ক্ষেত্রে সবচেয়ে ভাল। তবে মাইক্রোসার্ভিসেসগুলি অন্যান্য উপায়ে বড় প্রকল্পগুলি স্কেল করতে সহায়তা করতে পারে। (এবং বেশিরভাগ ছোট প্রকল্পের জন্য ওভারকিল)
বোরজব 4'17

2
সেই ভাষ্যকার স্বল্পদৃষ্টির। চলমান সময় সমস্যা => উত্সাহী সমস্যাগুলি => অসন্তুষ্ট ব্যবহারকারীরা => অর্থ হারিয়েছেন।
ফিলিপ

@ ফিলিপ: এটাই কথা। সাংগঠনিক কর্মহীনতার কারণে সৃষ্ট সময় সমস্যাগুলি সঙ্কলন করুন>> কেউই পাত্তা দেয় না। সাংগঠনিক কর্মহীনতার কারণে ক্ষতিগ্রস্থ হওয়া অর্থ => ঠিক সাংগঠনিক অসুস্থতার জন্য যারা দায়বদ্ধ তাদের ক্ষতি করে। আশা: সাংগঠনিক কর্মহীনতা দ্রুত স্থির হয়।
জার্গ ডব্লু মিট্টাগ

উত্তর:


194

আমার একটা সমস্যা আছে. মাইক্রোসার্ভেসিস ব্যবহার করা যাক! এখন আমার 13 টি বিতরণ সমস্যা রয়েছে।

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

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

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

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


13
@ জ্যাকসবিবি আমি নিশ্চিত যে "সাংগঠনিক কর্মহীনতা" কোনও সিস্টেম বিকাশের অক্ষমতা বোঝায় to আমার উত্তরটির বেশিরভাগ অংশটি কীভাবে এই সিদ্ধান্তে পৌঁছে যায় তা চিত্রিত করার প্রসঙ্গে, তবে আমার পেশাগত মতামত এবং টুইট থেকে নেওয়া হয়নি।
আমন

10
"একঘেয়েটি যা পরিষ্কারভাবে উপাদানগুলিতে বিভক্ত" - এর মানে কী?

10
এবং ইন্টারফেসের সংস্করণকরণের কথা বলতে হবে না (সময়ের সাথে ইন্টারফেসগুলি পরিবর্তিত হচ্ছে)।
পিটার মর্টেনসেন

12
@ মোবিলিংক মনোলিথ এখানে কোনও আদর্শ পদ নয় কারণ এটি "কোনও আর্কিটেকচার" নয় বলে প্রস্তাব দেয়। তবে আমি যা জানাতে চাইছি সেটি হ'ল একটি সিস্টেম যা একটি একক সিস্টেম হিসাবে বিকশিত এবং স্থাপন করা হয়, পরিষেবা-ভিত্তিক স্থাপত্যের বিপরীতে যেখানে সিস্টেমের কিছু অংশ স্বাধীনভাবে স্থাপন করা যেতে পারে। দয়া করে সম্পাদনা পোস্টে আপনি একটি ভাল শব্দ জানি ...
আমন

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

215

প্রথম টুইটটি আমার ছিল, তাই আমি এটিতে প্রসারিত করব:

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

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

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

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


67
+1 টি। এটি একটি টুইটের চেয়ে স্ট্যাক এক্সচেঞ্জের উত্তর হিসাবে অনেক ভাল। :-)
রুখ

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

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

10
@ লুক 32 অংশে হ্যাঁ, তবে মাইক্রোসার্ভেসিসের সংক্ষিপ্তসার যা এটি খারাপ দলগুলিতে আকর্ষণীয় করে তোলে তা হল আপনি আপনার দক্ষতা এবং যোগাযোগের ঘাটতি দীর্ঘ সময়ের জন্য অলক্ষিত করে তুলুন। সমস্যা হওয়ার বা না থাকার বিষয় নয়, তারা কখন প্রদর্শিত হবে
টি। সার

18
খুব সুন্দর উত্তর। মানুষকে আলোড়িত না করে টুইটারের পক্ষে আমার মতামতকে একেবারে অকেজো হিসাবে নিশ্চিত করার জন্য ধন্যবাদ Thanks
রবার্ট হার্ভে

43

আমার প্রশ্ন: মাইক্রোসার্ভেসিসে স্থানান্তর একটি রান-টাইম সমস্যা তৈরি করার অর্থ কী?

যে না ঐ টুইট কি বলছে! তারা মাইক্রোসার্ভিসেসে স্থানান্তরিত করার বিষয়ে কিছু বলেন না , বা সমস্যা তৈরির বিষয়ে তারা কিছু বলেন না । তারা কেবল স্থানান্তরিত সমস্যা সম্পর্কে কিছু বলে ।

এবং তারা তাদের দাবির উপর একটি প্রাসঙ্গিক সীমাবদ্ধতা রেখেছিল, যেমন আপনার সংস্থাটি কর্মহীন।

সুতরাং, প্রথম টুইটটি মূলত যা বলছে তা দুটি জিনিস:

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

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

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


6
@ মিশেল যদি আপনি দেখতে না পান যে তারা কোডের মানের উপর কীভাবে প্রভাব ফেলবে, সম্ভবত বিবেচনা করুন কী কী প্রভাব - যদি হয় - তাদের ব্যবসায়ের তৈরি পণ্যের মানের যে কোনও অংশে পরিচালনার রয়েছে ।
wjl

30
@ মিশেল: সবকিছুই শেষ পর্যন্ত উচ্চ স্তরের পরিচালনার ফলে ঘটে। কম কোডের মানটি কি অসম্ভব সময়সীমা দ্বারা সৃষ্ট? কে এই সময়সীমা নির্ধারণ করে? এই সময়সীমা নির্ধারণের জন্য যারা এই সময়সীমা নির্ধারণ করেছেন তাদের কে বলবে? অযোগ্য বিকাশকারীদের দ্বারা কি নিম্ন কোডের গুণমান হয়? এই অক্ষম বিকাশকারীদের কে নিয়োগ দিয়েছে? যারা এই অক্ষম বিকাশকারীদের নিয়োগ দিয়েছিল তাদের কে নিয়োগ দিয়েছে? এটি কি অপর্যাপ্ত সরঞ্জামদানের কারণে ঘটে? কে এই সরঞ্জামগুলি কিনে? কে এই সরঞ্জামগুলি কেনার জন্য বাজেট অনুমোদন করে? এটি কি নির্বোধ আর্কিটেকচারের কারণে ঘটে? যিনি স্থপতি নিয়োগ করেছেন? কে তাকে দায়িত্বে নিলেন? এই টুইটগুলি বিশেষত প্রসঙ্গে ছিল ...
জার্গ ডব্লু মিত্তাগ

13
... সাংগঠনিক কর্মহীনতা। ওয়েল, সংগঠন ফাংশন উপার্জন প্রায় কাছাকাছি হয় উচ্চ স্তরের ব্যবস্থাপনা কাজ। ম্যানেজমেন্ট এটাই
Jörg ডব্লু মিটাগ

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

1
@ জার্গডাব্লু মিটাগ আমি খারাপ বিকাশকারীদের দ্বারা লেখা খারাপ কোড দাবি করা যুক্তিসঙ্গত বলে মনে করি না যে এই খারাপ বিকাশকারীদের নিজেরাই নিয়োগ করেছে এবং খারাপ বিকাশকারীরা নিজেরাই নয় not এটা তোলে পরিণামে পরিচালনার দায়িত্ব হতে পারে, কিন্তু এটা করা হয় সৃষ্ট ডেভেলপারদের দ্বারা।
মাইলস রাউথ

9

এটি একটি সংকলন -সময়ের সমস্যার বিপরীতে একটি রান-টাইম সমস্যা তৈরি করে ।

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


9
এটি মনে হয় "একশব্দ" অ্যাপ্লিকেশনগুলি সর্বদা স্থিতিযুক্ত টাইপযুক্ত। গতিশীল টাইপ করা ভাষা সম্পর্কে কী? এবং স্ট্যাটিকালি টাইপযুক্ত পরিষেবার ইন্টারফেসগুলি সম্পর্কে কী?
জ্যাকবিবি

1
@ জ্যাক্ক্সবি ওটো, আমি ঠিক গতিসম্পন্ন টাইপিত সংকলিত ভাষা সম্পর্কে ভাবতে পারি।
ইমিগ্রিস

2
@ জ্যাকউসবি জাভাস্ক্রিপ্ট এবং পাইথন সংকলিত নয়। আপনি যদি কোনও অভ্যন্তরীণ দোভাষীকে একটি সংকলন লক্ষ্য হিসাবে গণনা করেন না তবে প্রতিটি ভাষা সংকলিত হয়।
ইমিগ্রিস

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

12
@ লাইরিয়ান আপনি যদি গুরুত্বরভাবে বিভ্রান্ত হন যে আপনি যদি ভাবেন যে টাইপ অনুকরণটি গতিশীলভাবে টাইপ করা এবং / অথবা হাস্কেল গতিশীল টাইপ করা হয়।
ডেরেক এলকিনস

2

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

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

যদি ইন্টারফেসটি সঠিকভাবে ডিজাইন করা না হয় তবে আপনি দুই ধরণের রানটাইম সমস্যা পাবেন:

  1. যদি ইন্টারফেসটি সঠিকভাবে ব্যবহার না করা হয় তবে আপনি রানটাইমে একটি ত্রুটি পাবেন, সংকলনের সময় নয়।
  2. ওয়েব ইন্টারফেস কল করা বেশ ধীর, তাই আপনি পারফরম্যান্সের সমস্যা পেতে পারেন।

আমি মনে করি রানটাইম ইস্যু উত্পাদন করা দায়ী যারা তাদের কাছে যোগাযোগের সাংগঠনিক সমস্যাগুলি সঠিকভাবে নয়।

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