এমএমওগুলিতে লোড ব্যালেন্সিং কীভাবে অর্জিত হয়?


26

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

আমার প্রশ্ন এমএমওগুলিতে লোড ব্যালেন্সিং কীভাবে অর্জিত হয়?

এই বিষয়ে আমার জ্ঞানকে কীভাবে উন্নত করা যায় সে সম্পর্কে কোনও লিঙ্ক, বই বা সাধারণ তথ্যও প্রশংসিত।

উত্তর:


30

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

পরিষেবাদি সংজ্ঞায়িত

আমি মনে করি প্রথম পদক্ষেপ হ'ল পরিষেবাগুলি এবং তাদের নির্ভরতাগুলি সনাক্ত করা : স্থিতিশীল সামগ্রী, প্রমাণীকরণ, স্থানীয় চ্যাট, গ্লোবাল চ্যাট চ্যানেল, আঞ্চলিক চ্যাট চ্যানেল, বন্ধুর তালিকা, গিল্ডস, ব্যাগ / ইনভেন্টরি, নিলাম হাউস, গ্লোবাল ম্যাপ, ওয়ার্ল্ড, ...

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

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

ওয়ার্ল্ড সার্ভারস

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

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

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

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

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

সারাংশ

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

পিএস: এই কৌশলগুলির কয়েকটি নির্ভরযোগ্যতা উন্নত করতে ব্যবহার করা যেতে পারে। এবং আপনার এটি মনে রাখা উচিত কারণ অনেক সার্ভার ব্যবহার করা জিনিস ভাঙ্গার অনেক বেশি ঝুঁকি বোঝায়; কেবল সফ্টওয়্যারেই নয় হার্ডওয়্যার স্তরেও।


তবে সত্যই, আপনি কীভাবে এই আন্তঃসংযোগ যোগাযোগ করবেন? কোন ধরণের আইপিসি ব্যবহার করা উচিত?
মজিদারিফ

10

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


9

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

এটি সম্ভবত আপনার সাধারণ হিসাবে সাধারণ নয়; কমপক্ষে, আপনি যদি ভাবছেন না যে এক বিরামবিহীন বিশ্ব একই সাথে বেশ কয়েকটি সার্ভার দ্বারা পরিচালিত হয়।

সম্পূর্ণ পৃথক শার্ড গণনা করা হচ্ছে না, 2 টি দিক রয়েছে যাতে আপনি একটি অনলাইন গেমকে বিভক্ত করতে পারেন, যা "অনুভূমিক" এবং "উল্লম্ব" হিসাবে বিবেচিত হতে পারে:

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

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

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

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

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

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

এই সমস্যাগুলি দুর্দমযোগ্য নয় তবে বেশিরভাগ গেমের জন্য যখন আপনি অন্য উপায়ে বোঝা ভাগ করে নিতে পারেন এবং আপনার সমস্ত গেমের যুক্তি একটি সার্ভারে রাখতে পারেন তখন চেষ্টা করা খুব বেশি কঠিন। সুতরাং প্রায় সমস্ত বর্তমান গেমগুলি পরিবর্তে সেই রুটে নেমে যায়।


3

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

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

গ্লোবাল সার্ভারের মাধ্যমে কেবল কিছু বেসিক লোড ব্যালেন্সিং করুন যাতে কোনও প্রসেস বিন একটি নির্দিষ্ট মেমোরি / সিপিইউ ব্যবহারে পৌঁছালে আপনি একটি নতুন প্রক্রিয়া বিন সার্ভার শুরু করেন।


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

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

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

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

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