كيفية توزيع العناصر بقوة، ولكن بالحد الأدنى، عبر نظام نظير إلى نظير

StackOverflow https://stackoverflow.com/questions/37296

سؤال

إذا كان لدى المرء نظام نظير إلى نظير يمكن الاستعلام عنه، فإنه يرغب في ذلك

  • تقليل العدد الإجمالي للاستعلامات عبر الشبكة (من خلال توزيع العناصر "الشعبية" على نطاق واسع والعناصر "المشابهة" معًا)
  • تجنب التخزين الزائد في كل عقدة
  • ضمان التوفر الجيد حتى للعناصر النادرة إلى حد ما في مواجهة توقف العميل وفشل الأجهزة ومغادرة المستخدمين (ربما اكتشاف العناصر النادرة لأمناء المحفوظات/المؤرخين)
  • تجنب فشل الاستعلامات في العثور على التطابقات في حالة وجود أقسام الشبكة

ونظرا لهذه المتطلبات:

  1. هل هناك أي نهج القياسية؟إذا لم يكن الأمر كذلك، فهل هناك أي بحث محترم، ولكن تجريبي؟أنا على دراية بخطط التوزيع، لكنني لم أر أي شيء يعالج حقًا التعلم من أجل المتانة.
  2. هل أفتقد أي معايير واضحة؟
  3. هل هناك من مهتم بالعمل على/حل هذه المشكلة؟(إذا كان الأمر كذلك، فأنا سعيد بجزء مفتوح المصدر من جهاز محاكاة ضعيف جدًا قمت بإعداده في نهاية هذا الأسبوع، وأقدم نصائح غير مفيدة بشكل عام).

@cdv:لقد شاهدت الفيديو الآن وهو جيد جدًا، وعلى الرغم من أنني لا أشعر أنه يصل إلى استراتيجية توزيع قابلة للتوصيل، إلا أنه بالتأكيد قطع 90% من الطريق إلى هناك.ومع ذلك، فإن الأسئلة تسلط الضوء على الاختلافات المفيدة مع هذا النهج والتي تعالج بعض مخاوفي الإضافية، وتعطيني بعض المراجع للمتابعة.وبالتالي، فإنني أقبل إجابتك مؤقتًا، على الرغم من أنني أعتبر السؤال مفتوحًا.

هل كانت مفيدة؟

المحلول

إذا كان لديك الوقت فإنه سيكون من المفيد التحقق من ذلك محاضرة Google التقنية التي ألقاها Wuala.لقد ناقشوا نفس المشكلات التي واجهوها عند إنشاء نظام ملفات نظير إلى نظير الخاص بهم.

نصائح أخرى

هناك أنظمة متعددة ذات جوانب مختلفة لما تسعى إليه وكل منها يقدم تنازلات مختلفة، بما في ذلك على سبيل المثال لا الحصر:

دينامو أمازون: http://s3.amazonaws.com/AllThingsDistributed/sosp/amazon-dynamo-sosp2007.pdf

كاي: http://www.slideshare.net/takemaru/kai-an-open-source-implementation-of-amazons-dynamo-472179

هادوب: http://hadoop.apache.org/core/docs/current/hdfs_design.html

وتر: http://pdos.csail.mit.edu/chord/

خلية نحل: http://www.cs.cornell.edu/People/egs/beehive/

واشياء أخرى عديدة.بعد بناء نظام مخصص على هذا المنوال، سمحت لبعض العناصر الأساسية بالخروج في شكل مفتوح المصدر أيضًا: http://code.google.com/p/distributerl/(هذا ليس نظامًا كاملاً، ولكن بعض المكتبات مفيدة في بناء نظام واحد)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top