তারা উভয়ই প্রায় একই কার্যকারিতা সরবরাহ করে। আমার উচ্চ-পারফরম্যান্স টিসিপি সার্ভারটি বিকাশের জন্য আমার কোনটি বেছে নেওয়া উচিত? উপকারিতা কি কি?
রেফারেন্স লিঙ্ক:
অ্যাপাচি মিনা ( উত্স )
তারা উভয়ই প্রায় একই কার্যকারিতা সরবরাহ করে। আমার উচ্চ-পারফরম্যান্স টিসিপি সার্ভারটি বিকাশের জন্য আমার কোনটি বেছে নেওয়া উচিত? উপকারিতা কি কি?
রেফারেন্স লিঙ্ক:
অ্যাপাচি মিনা ( উত্স )
উত্তর:
যদিও মিনা এবং নেটটির একই উচ্চাভিলাষ রয়েছে, তারা অনুশীলনে একেবারেই আলাদা এবং আপনার পছন্দটি যত্ন সহকারে বিবেচনা করা উচিত। আমরা ভাগ্যবান যে এমআইএনএর সাথে আমাদের প্রচুর অভিজ্ঞতা ছিল এবং নেটটির সাথে খেলা করার সময় ছিল। আমরা বিশেষত ক্লিনার এপিআই এবং আরও ভাল ডকুমেন্টেশন পছন্দ করেছি। পারফরম্যান্স কাগজেও ভাল লাগছিল। আরও গুরুত্বপূর্ণভাবে আমরা জানতাম যে ট্রস্টিন লি আমাদের যে কোনও প্রশ্নের উত্তর দিতে এগিয়ে আসবেন এবং তিনি অবশ্যই তা করেছিলেন।
আমরা নেটটিতে সবকিছু সহজ খুঁজে পেয়েছি। সময়কাল। আমরা যখন এমআইএনএ-তে ইতিমধ্যে আমাদের একই কার্যকারিতাটি পুনরায় প্রয়োগ করার চেষ্টা করছিলাম, আমরা স্ক্র্যাচ থেকে এটি করেছি। চমৎকার ডকুমেন্টেশন এবং উদাহরণগুলি অনুসরণ করে আমরা অনেক বেশি, অনেক কম কোডে আরও কার্যকারিতা সহ শেষ করেছি।
নেট পাইপলাইন আমাদের জন্য আরও ভাল কাজ করেছে। এটি এমআইএনএর চেয়ে একরকম সহজ, যেখানে সবকিছু হ্যান্ডলার এবং প্রবাহের ইভেন্টগুলি, ডাউন স্ট্রিম ইভেন্টগুলি উভয়ই পরিচালনা করতে হবে বা আরও নিম্ন-স্তরের স্টাফ গ্রহণ করবে কিনা তা সিদ্ধান্ত নেওয়া আপনার পক্ষে। "পুনরায় খেলতে" ডিকোডারগুলিতে গাবলিং বাইটগুলি প্রায় একটি আনন্দের ছিল। খুব সহজেই অনায়াসে পাইপলাইনটি পুনরায় কনফিগার করতে সক্ষম হয়ে খুব ভাল লাগছিল।
তবে নেটটির তারকা আকর্ষণ, ইমো, "একটির কভারেজ" দিয়ে পাইপলাইন হ্যান্ডলারগুলি তৈরি করার ক্ষমতা। আপনি সম্ভবত এই ডকুমেন্টেশনে ইতিমধ্যে এই কভারেজ টীকাটি পড়েছেন তবে মূলত এটি আপনাকে কোডের একক লাইনে রাজ্য দেয়। আশেপাশে কোনও গোলযোগ নেই, কোনও সেশন মানচিত্র, সিঙ্ক্রোনাইজেশন এবং এর মতো জিনিস নেই, আমরা কেবল নিয়মিত ভেরিয়েবলগুলি ("ইউজার নেম" বলি) ঘোষণা করতে এবং সেগুলি ব্যবহার করতে সক্ষম হয়েছি।
কিন্তু তারপরে আমরা একটি রোড ব্লক মারলাম। এমআইএনএর অধীনে আমাদের ইতিমধ্যে একটি মাল্টি-প্রোটোকল সার্ভার রয়েছে, যাতে আমাদের অ্যাপ্লিকেশন প্রোটোকলটি টিসিপি / আইপি, এইচটিটিপি এবং ইউডিপি-র জুড়ে চলেছে। আমরা যখন নেটটিতে স্যুইচ করেছি আমরা কয়েক মিনিটের মধ্যে তালিকায় এসএসএল এবং এইচটিটিপিএস যুক্ত করেছি! এতদূর ভাল, তবে ইউডিপিতে আসার পরে আমরা বুঝতে পেরেছিলাম যে আমরা পিছলে পড়েছি। মিনা আমাদের জন্য খুব সুন্দর ছিল যে আমরা ইউডিপিকে "সংযুক্ত" প্রোটোকল হিসাবে বিবেচনা করতে পারি। নেটটির অধীনে এ জাতীয় কোনও বিমূর্ততা নেই। ইউডিপি সংযোগহীন এবং নেটটি এটির মতো আচরণ করে। নেট ইউআইডি-র সংযোগহীন প্রকৃতির অনেকটাই এমআইএনএর চেয়ে কম স্তরে প্রকাশ করে। মাইনা সরবরাহ করে এমন উচ্চ-স্তরের বিমূর্তির তুলনায় নেটটির অধীনে ইউডিপিতে আপনি যে জিনিসগুলি করতে পারেন সেগুলি রয়েছে তবে আমরা নির্ভর করেছি on
"সংযুক্ত ইউডিপি" র্যাপার বা কোনও কিছু যুক্ত করা এত সহজ নয়। সময়ের সীমাবদ্ধতা এবং ট্রাস্টিনের পরামর্শ অনুসারে অগ্রসর হওয়ার সর্বোত্তম উপায় হ'ল নেটটিতে আমাদের নিজস্ব পরিবহন সরবরাহকারী কার্যকর করা, যা দ্রুত হবে না, শেষ পর্যন্ত আমাদের নেটটি পরিত্যাগ করতে হয়েছিল।
সুতরাং, তাদের মধ্যে পার্থক্যগুলি কঠোরভাবে দেখুন এবং দ্রুত এমন একটি পর্যায়ে পৌঁছান যেখানে আপনি যে কোনও কার্যকরী কার্যকারিতা যাচাই করতে পারেন তা প্রত্যাশা অনুযায়ী কাজ করছে। যদি আপনি সন্তুষ্ট হন যে নেটটি কাজটি করবে, তবে আমি মিনার সাথে এটি নিয়ে যেতে দ্বিধা করব না। আপনি যদি এমআইএনএ থেকে নেটটিতে চলে যাচ্ছেন তবে একইটি প্রযোজ্য, তবে লক্ষণীয় বিষয় যে দুটি এপিআই সত্যই উল্লেখযোগ্যভাবে আলাদা এবং আপনার নেটিটির জন্য ভার্চুয়াল পুনর্লিখনটি বিবেচনা করা উচিত - আপনি এতে আফসোস করবেন না!
MINA- এ জটিলতার ব্যয় এবং তুলনামূলকভাবে খারাপ পারফরম্যান্সের তুলনায় আরও বেশি অফ-অফ-বক্স বৈশিষ্ট্য রয়েছে। এই বৈশিষ্ট্যগুলির মধ্যে কিছুগুলি খুব দৃly়ভাবে কোরতে একীভূত হয়েছিল যদিও কোনও ব্যবহারকারীর প্রয়োজন না হলেও তাদের মুছে ফেলা যায়। নেটটিতে আমি মিনার জ্ঞাত শক্তি বজায় রেখে এ জাতীয় নকশার বিষয়গুলি সমাধান করার চেষ্টা করেছি।
বর্তমানে, মিনায় পাওয়া বেশিরভাগ বৈশিষ্ট্য নেটটিতেও পাওয়া যায়। আমার মতে, নেটির ক্লিনার এবং আরও ডকুমেন্টেড এপিআই রয়েছে যেহেতু নেটটি স্ক্র্যাচ থেকে মিনাকে পুনর্নির্মাণের চেষ্টা এবং জ্ঞাত সমস্যাগুলি সমাধানের ফলাফল। যদি আপনি দেখতে পান যে কোনও প্রয়োজনীয় বৈশিষ্ট্য অনুপস্থিত রয়েছে তবে দয়া করে বিনা দ্বিধায় আপনার পরামর্শটি ফোরামে পোস্ট করুন। আমি আপনার উদ্বেগের সমাধান করতে পেরে খুশি হব
এটাও লক্ষ করা গুরুত্বপূর্ণ যে নেটটির দ্রুত বিকাশ চক্র রয়েছে। সহজভাবে, সাম্প্রতিক প্রকাশগুলির প্রকাশের তারিখটি দেখুন। এছাড়াও, আপনার বিবেচনা করা উচিত যে মিনা টিম একটি বড় পুনর্লিখন, মিনা 3 এ এগিয়ে যাবে, যার অর্থ তারা এপিআইয়ের সামঞ্জস্যতা পুরোপুরি ভঙ্গ করবে।
আমি 2 "গুগল প্রোটোফার আরপিসি" বাস্তবায়ন পরীক্ষা করেছি যেখানে একটি নেটটির উপর ভিত্তি করে ছিল (নেট-প্রোটোবুফ-আরপিসি) এবং অন্যটি মিনা (প্রোটোবুফ-মিনা-আরপিসি) এর উপর ভিত্তি করে ছিল। নেটটি সমস্ত বার্তার মাপের জন্য নিয়মিত দ্রুত (+ - 10%) হয়ে উঠেছে - যা নেটটি ওয়েব সাইটে সামগ্রিক পারফরম্যান্স দাবির ব্যাক আপ করে। যেহেতু আপনি যখন এই জাতীয় আরপিসি লাইব্রেরি ব্যবহার করেন তখন আপনি কোডের বাইরে থেকে প্রতিটি দক্ষতার বাইরে চলে যেতে চান, তাই নেটটির উপর ভিত্তি করে প্রোটোবুফ-আরপিসি-প্রো লেখা শেষ করেছি । আমি অতীতে মিনা ব্যবহার করেছি, তবে তাদের 2.0 ডকুমেন্টের ডকুমেন্টেশনে বড় গর্ত রয়েছে এবং API এর পশ্চাদপটে সামঞ্জস্যতা ভঙ্গ করে একটি বিয়োগ বিয়োগ করবে।
মিনা এবং নেটটি প্রাথমিকভাবে একই লেখক দ্বারা ডিজাইন করেছিলেন এবং তৈরি করেছিলেন। এ কারণেই তারা একে অপরের সাথে এতটাই পরিচিত। মিনা আরও কিছু বৈশিষ্ট্য সহ সামান্য উচ্চ স্তরে ডিজাইন করা হয়েছে, আর নেটটি কিছুটা দ্রুত। আমি মনে করি যে মোটেও খুব বেশি পার্থক্য নেই, প্রাথমিক ধারণাটি একই রকম।
নেট সাইটে আপনি কিছু পারফরম্যান্স রিপোর্ট পেতে পারেন । যেমনটি প্রত্যাশিত :-) তারা সর্বোত্তম পারফরম্যান্স সহ নেটটিকে ফ্রেমওয়ার্ক হিসাবে দেখায়।
আমি নেটটি কখনও ব্যবহার করি নি, তবে আমি টিসিপি প্রোটোকল প্রয়োগ করতে ইতিমধ্যে মিনাকে ব্যবহার করেছি। এনকোডিং এবং ডিকোডিংয়ের বাস্তবায়ন সহজ ছিল, তবে রাষ্ট্রীয় মেশিনের প্রয়োগ এত সহজ ছিল না। রাজ্য মেশিনটি প্রয়োগ করার সময় মিনা আপনাকে কিছু ক্লাস সরবরাহ করে তবে আমি তাদের ব্যবহার করতে একরকম কঠিন বলে মনে করি। শেষ পর্যন্ত আমরা মিনাকে খাঁজতে এবং প্রোটোকলটি স্ক্র্যাচ থেকে বাস্তবায়নের সিদ্ধান্ত নিয়েছি এবং আশ্চর্যজনকভাবে আমরা একটি দ্রুত সার্ভার দিয়ে শেষ করেছি।
আমি নেটিকে পছন্দ করি।
টুইটার নেটটিও তার নতুন অনুসন্ধান সিস্টেম তৈরি করতে বেছে নিয়েছে এবং এটি দ্রুত 3x পর্যন্ত বাড়িয়েছে।
উত্তর: টুইটার অনুসন্ধান এখন 3x দ্রুততর
মিনা এবং জেটির মতো আমরা তার অন্যান্য প্রতিযোগীদের উপর থেকে নেটিকে বেছে নিয়েছি কারণ এটির একটি ক্লিনার এপিআই, আরও ভাল ডকুমেন্টেশন এবং আরও গুরুত্বপূর্ণ, কারণ টুইটারে বেশ কয়েকটি অন্যান্য প্রকল্প এই কাঠামোটি ব্যবহার করছে।
আমি কেবল কখনও সার্ভারের মতো একটি ছোট HTTP তৈরি করতে মিনাকে ব্যবহার করেছি। এখন পর্যন্ত এর মধ্যে সবচেয়ে বড় সমস্যাটি আমি নিয়ে চলেছি:
এটি সম্পর্কে দুর্দান্ত জিনিস: