আরপিসি-ইশ কখন রিস্টের চেয়ে বেশি উপযুক্ত?


33

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

কয়েকটি আরপিসি সমস্যা তিনি উল্লেখ করেছেন:

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

এটি কিছুটা নাটকীয় করতে, আরপিসি বনাম আরএসটি-র জন্য কিছু গুগল তাত্ক্ষণিক ফলাফল:

আরপিসি

বিশ্রাম

উত্তর:


20

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

আরপিসি আরও ভাল ফিট হতে পারে এমন ঘটনাগুলি এখানে:

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

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

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

ইঞ্জিনিয়ারিংয়ের বেশিরভাগ সমস্যার মতো আন্ত-প্রক্রিয়া যোগাযোগের সমস্যার একক সমাধান নেই। আপনি যে সিস্টেমটি ডিজাইন করছেন তার দিকে নজর দেওয়া এবং আপনার ব্যবহারের ক্ষেত্রে সেরা পছন্দ করা উচিত।


1

আর ডিএসইটির কিছু বড় সুবিধা রয়েছে যখন কোনও ডেটাসেন্টার জুড়ে পণ্যগুলি মাপানো হয় এবং আপনি উচ্চ প্রাপ্যতা এবং লোড ব্যালেন্সিং করছেন।

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


1

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

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