জিআরপিসি (এইচটিটিপি / ২) কি এইচটিটিপি / ২ এর সাথে আরআরটিএসের চেয়ে দ্রুত?


96

লক্ষ্যটি হ'ল একটি পরিবহন এবং অ্যাপ্লিকেশন স্তর প্রোটোকল প্রবর্তন করা যা এটির বিলম্বিতা এবং নেটওয়ার্ক থ্রুপুটতে আরও ভাল । বর্তমানে, অ্যাপ্লিকেশনটি এইচটিটিপি / ১.১ সহ আরএসটি ব্যবহার করে এবং আমরা একটি উচ্চ বিলম্বিত অভিজ্ঞতা অর্জন করি। আমার এই বিলম্বিত সমস্যাটি সমাধান করা দরকার এবং আমি জিআরপিসি (HTTP / 2) বা REST / HTTP2 ব্যবহারের জন্য উন্মুক্ত ।

এইচটিটিপি / 2:

  1. মাল্টিপ্লেক্সড
  2. একক টিসিপি সংযোগ
  3. পাঠ্য পরিবর্তে বাইনারি
  4. শিরোনাম সংক্ষেপণ
  5. সার্ভার পুশ

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

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

প্রশ্ন নং 3: নিরিখে স্ট্রিমিং, দ্বি-মুখী ব্যবহার-মামলা , কিভাবে gRPC (HTTP- র / 2) সঙ্গে তুলনা করা যায় (বিশ্রাম ও HTTP- র / 2)?

অনেক আছে ব্লগ / ভিডিও ইন্টারনেট যে সঙ্গে gRPC (HTTP- র / 2) (বিশ্রাম ও HTTP- র / 1.1) -এর মত তুলনা আউট এই । যেমন আগেই বলা হয়েছে, আমি জিআরপিসি (এইচটিটিপি / ২) এবং (এইচটিটিপি / ২ এর সাথে আরএসএস) তুলনা করার সুবিধাগুলি জানতে চাই।


আপনি কি ব্যবহার শেষ? HTTP2 + REST এর জন্য কি কাঠামো আছে?
নট

@knocte আমি জিপিআরসি ব্যবহার করে শেষ করেছি। এটি বেশ ভালভাবে বিলম্বকে কমিয়েছে। HTTP / 2 + REST সম্পর্কিত, কোনও নির্দিষ্ট কাঠামো নেই, এটি আপনার ব্যবহার করা সার্ভারে আপনার সেটিংস পরিবর্তন করতে হবে। বলুন, আপনি এনগিনেক্স ব্যবহার করছেন, এইচটিটিপি / 2 সেটআপ করার পদক্ষেপগুলি দেখতে ডক্সে সন্ধান করুন।
লক্ষ্মণ দিওয়াকার

এবং আপনাকে অবশ্যই নিশ্চিত করতে হবে যে HTTP / 1.1 পুনরায় সংযোগটি পুনরায় ব্যবহার করেছে। অন্যথায় "টিসিপি কোল্ড স্টার্ট" অনুসন্ধান করুন। জিআরপিসি ডিফল্টভাবে সংযোগটি পুনরায় ব্যবহার করে।
বোহদান_ট্রোটসেনকো

উত্তর:


93

জিআরপিসি ডিফল্টরূপে HTTP / 2 এর চেয়ে আরএসটি-র চেয়ে দ্রুত নয়, তবে এটি আপনাকে দ্রুত তৈরি করার সরঞ্জাম দেয়। কিছু জিনিস রয়েছে যা বিশ্রামের সাথে করা কঠিন বা অসম্ভব।

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

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


উত্তরের জন্য আপনাকে ধন্যবাদ কার্ল @ আপনি কি আমাদের উপরের সমস্ত জিনিস এবং মানদণ্ডের জন্য লিঙ্কটি ব্যাখ্যা করে কিছু লিঙ্ক / ডক্স ভাগ করতে পারেন?
লক্ষ্মণ দিবাকর

4
আমি ড্যাশবোর্ডে লিঙ্ক করতে প্রতিক্রিয়া আপডেট করেছি। এগুলি সরাসরি ব্যাখ্যা করার মতো ডক্স আমার কাছে নেই, তবে আমি মূল অবদানকারী।
কার্ল মাস্টারঞ্জেলো

দয়া করে লোড ব্যালেন্সিং libraryলিঙ্কটি দিন
BozoJoe

15

আমি কোনও উপায়ে এ বিষয়ে বিশেষজ্ঞ নই এবং এর কোনওটির ব্যাক আপ করার জন্য আমার কাছে কোনও ডেটা নেই।

আপনি যে "বাইনারি বৈশিষ্ট্য" এর কথা বলছেন তা হ'ল এইচটিটিপি / 2 ফ্রেমের বাইনারি উপস্থাপনা। সামগ্রীটি নিজেই (একটি জেএসএন পে-লোড) এখনও ইউটিএফ -8 থাকবে। আপনি যে জেএসওনকে সংকুচিত করতে পারেন এবং Content-Encoding: gzipঠিক এইচটিটিপি / ১ এর মতো সেট করতে পারেন ।

তবে জিআরপিসি জিজিপ সংকোচনের পাশাপাশি করে। সুতরাং সত্যিই, আমরা জিজিপ-সংকুচিত জেএসএন বনাম জিজিপ-সংকোচিত প্রোটোবুফগুলির মধ্যে পার্থক্য সম্পর্কে কথা বলছি।

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

জেএসএন বনাম প্রোটোবুফসের সর্বব্যাপীতা ছাড়াও, প্রোটোবুফগুলি ব্যবহার করার জন্য আমি দেখতে পাচ্ছি কেবলমাত্র টিসিপিডাম্প অবস্থায় বলুন আপনার এগুলির ডিকোড করার জন্য ছবি দরকার need


4
প্রশ্নে আপনার মতামতের জন্য আপনাকে @ এনফিরভাইন ধন্যবাদ। সিরিয়ালাইজেশন বৈশিষ্ট্য কিন্ডা বোঝায়। কীভাবে আরইএসটি এবং জিআরপিসিতে সিরিয়ালাইজেশন ঘটে তার আরও কিছু বিশদ / ব্যাখ্যা যোগ করতে পারেন। এটি দুর্দান্ত হবে, যদি আপনি কিছু লিঙ্কগুলি ভাগ করে নিতে পারেন।
লক্ষ্মণ দিওয়াকার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.