জেএসএন থেকে প্রোটোবুফে চলে যান। এটা কি মূল্য?


23

আমাদের কাছে রেষ্ট ওয়েব সার্ভিস রয়েছে যা এক্সএমএল বা জেএসএন (ডাব্লুসিএফ) পরিবেশন করতে পারে। আমি প্রোটোবুফ বাস্তবায়নের ধারণা নিয়ে কাজ করছি। কেন?

অনুকূল

  1. সার্ভারগুলিতে কম লোড।
  2. ছোট বার্তার আকার - ট্রাফিক কম।
  3. পরবর্তী সময়ের চেয়ে এখন স্যুইচ করা আরও সহজ।

CONS

  1. বাস্তবায়ন করা দরকার
  2. ডিবাগিংয়ের জন্য বার বার সমস্যা সমাধান / স্নিফ করা আরও শক্ত হতে চলেছে।
  3. আমি সার্ভারে জিজিপ সক্ষম করতে পারি এবং জেএসএন যতটা ট্র্যাফিক গ্রাস করবে

আপনার এই পরামর্শ এবং / বা অভিজ্ঞতা কি?


1
আমি উইকিপিডিয়া পৃষ্ঠায় দেখেছি, এবং কী-ভ্যালু জুটির তুলনায় প্রকৃতপক্ষে আরও চরিত্র ছিল, তাই ডোজ কেন এটির চেয়ে কম বার্তা রয়েছে?
রামজী কহিল

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

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

উত্তর:


39

এগুলি বাস্তবায়নের ব্যবসায়ের মূল্য কি ব্যয় ছাড়িয়ে যায়?

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

তাহলে মান কি এর বেশি হবে? আপনি কি "আমাদের ব্যান্ডউইথ ব্যয় আমাদের আয়ের X% এর একটি নির্বাচনের মুখোমুখি হয়েছি এবং আমরা এটি সমর্থন করতে পারি না"? অথবা এমনকি "JSON সমর্থন করার জন্য সার্ভারগুলি যুক্ত করতে আমাদের 20,000 ডলার ব্যয় করতে হবে"?

আপনার যদি চাপের ব্যবসায়ের প্রয়োজন না হয় তবে আপনার "উপকার" সত্যিকারের পেশাদার নয়, কেবলমাত্র অকাল অপটিমাইজেশন।


23

আমি এপিস বজায় রাখি এবং আমার আগে কেউ প্রোটোবুফ যুক্ত করেছিল (কারণ এটি "দ্রুত" ছিল)। কেবলমাত্র পেট লোডের কারণে আরটিটি দ্রুততর হয় এবং এটি জিজেপড জেএসএন দিয়ে স্থির করা যায়।

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

এখন যে ক্লায়েন্টরা প্রোটোকল বাফারগুলির বিরুদ্ধে বাস্তবায়ন করেছে, এ থেকে দূরে থাকা প্রায় অসম্ভব।

আপনি সম্ভবত এটি থেকে অনুমান করতে পারেন, আমার পরামর্শ এটি করবেন না।


5
আপনি যদি POJOs এর বাইরে / বাইরে ডেটা সরিয়ে নিতে (ডি) সিরিয়ালাইজেশন কোডটি লিখছেন তবে আপনি এটি ভুল করছেন। কেবল প্রোটোবুফ-উত্পন্ন ক্লাসগুলি সরাসরি ব্যবহার করুন।
মার্সেলো ক্যান্টোস

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