النظام الموزع في أبسط تعريف له هو مجموعة من أجهزة الكمبيوتر تعمل معًا وتظهر كواحد للمستخدم النهائي. تشترك الآلات في حالة مشتركة ، وتعمل بشكل متزامن ، ويمكن أن تعمل بشكل مستقل دون التأثير على وقت تشغيل النظام بأكمله. الحقيقة أن إدارة مثل هذه الأنظمة موضوع معقد مليء بالمزالق.
نظرة عامة على النظام
يسمح النظام الموزع بمشاركة الموارد (بما في ذلك البرامج) المتصلة بالشبكة في نفس الوقت.
أمثلة على توزيع النظام:
- مكدس تقليدي. يتم تخزين قواعد البيانات هذه على نظام الملفات لجهاز واحد. عندما يرغب المستخدم في تلقي المعلومات ، فإنه يتواصل مباشرة مع هذا الجهاز. لتوزيع نظام قاعدة البيانات هذا ، تحتاج إلى تشغيله على أجهزة كمبيوتر متعددة في نفس الوقت.
- العمارة الموزعة.
نظام موزعيسمح لك بالتوسيع أفقيًا وعموديًا. على سبيل المثال ، الطريقة الوحيدة للتعامل مع المزيد من حركة المرور هي ترقية الأجهزة التي تقوم بتشغيل قاعدة البيانات. هذا يسمى التحجيم الرأسي. يعد التوسع الرأسي جيدًا حتى حد معين ، وبعد ذلك لا تستطيع حتى أفضل المعدات التعامل مع توفير حركة المرور المطلوبة.
القياس أفقيًا يعني إضافة المزيد من أجهزة الكمبيوتر ، وليس ترقية الأجهزة على أحدها. يزيد القياس الرأسي من الأداء لأحدث قدرات الأجهزة في الأنظمة الموزعة. هذه الفرص ليست كافية لشركات التكنولوجيا ذات أعباء العمل المتوسطة إلى الثقيلة. أفضل شيء في القياس الأفقي هو أنه لا توجد حدود للحجم. عندما يتدهور الأداء ، يتم ببساطة إضافة آلة أخرى ، والتي ، من حيث المبدأ ، يمكن القيام بها إلى أجل غير مسمى.
على مستوى الشركة ، غالبًا ما يتضمن نظام التحكم الموزع خطوات مختلفة. في العمليات التجارية في أكثر الأماكن كفاءة في شبكة كمبيوتر المؤسسة. على سبيل المثال ، في التوزيع النموذجي باستخدام نموذج نظام موزع ثلاثي المستويات ، تتم معالجة البيانات على جهاز كمبيوتر في موقع المستخدم ، وتتم معالجة الأعمال على كمبيوتر بعيد ، ويتم الوصول إلى قاعدة البيانات ومعالجة البيانات على جهاز كمبيوتر مختلف تمامًا التي توفر وصولاً مركزياً للعديد من العمليات التجارية. عادة ، هذا النوع من الحوسبة الموزعةيستخدم نموذج التفاعل بين العميل والخادم.
المهام الرئيسية
تشمل المهام الرئيسية لنظام التحكم الموزع:
- الشفافية - احصل على صورة نظام واحدة دون إخفاء الموقع ، والوصول ، والترحيل ، والتزامن ، وتجاوز الفشل ، والانتقال ، والمثابرة ، وتفاصيل الموارد للمستخدمين.
- الانفتاح - يبسط إعداد الشبكة والتغييرات.
- الموثوقية - بالمقارنة مع نظام تحكم واحد ، يجب أن يكون موثوقًا به ومتسقًا ولديه احتمال كبير لأخطاء التقنيع.
- الأداء - مقارنة بالنماذج الأخرى ، توفر النماذج الموزعة تعزيزًا للأداء.
- قابلة للتطوير - يجب أن تكون أنظمة التحكم الموزعة قابلة للتطوير من حيث المنطقة أو الإدارة أو الحجم.
تشمل مهام أنظمة التوزيع:
- الأمن مشكلة كبيرة في بيئة موزعة ، خاصة عند استخدام الشبكات العامة.
- التسامح مع الخطأ - يمكن أن يكون صعبًا عندما يتم بناء النموذج بمكونات غير موثوقة.
- تنسيق الموارد وتوزيعها - يمكن أن يكون صعبًا إذا لم تكن هناك بروتوكولات مناسبة أو سياسات مطلوبة.
بيئة الحوسبة الموزعة
(DCE) هو معيار صناعي واسع الاستخدام يدعم مثل هذه الحوسبة الموزعة. على الإنترنت ، يقدم موفرو الطرف الثالث بعض الخدمات العامة ،التي تناسب هذا النموذج.
الحوسبة الشبكية هي نموذج حسابي بهندسة معمارية موزعة لعدد كبير من أجهزة الكمبيوتر المرتبطة بحل مشكلة معقدة. في نموذج الحوسبة الشبكية ، تقوم الخوادم أو أجهزة الكمبيوتر الشخصية بأداء مهام مستقلة ومتصلة بشكل فضفاض مع بعضها البعض عن طريق الإنترنت أو الشبكات منخفضة السرعة.
أكبر مشروع للحوسبة الشبكية هو SETI @ home ، حيث يتطوع مالكو أجهزة الكمبيوتر الفردية لأداء بعض دورات معالجة المهام المتعددة باستخدام أجهزة الكمبيوتر الخاصة بهم في مشروع البحث عن ذكاء خارج الأرض (SETI). تستخدم مشكلة الكمبيوتر هذه الآلاف من أجهزة الكمبيوتر لتنزيل بيانات التلسكوب الراديوي والبحث عنها.
كان أحد الاستخدامات الأولى للحوسبة الشبكية هو كسر شفرة التشفير من قبل مجموعة تعرف الآن باسم Distributed.net. تصف هذه المجموعة أيضًا نموذجها بأنه حوسبة موزعة.
تحجيم قاعدة البيانات
لا يحدث نشر المعلومات الجديدة من السيد إلى العبد على الفور. في الواقع ، هناك نافذة زمنية يمكنك من خلالها الحصول على معلومات قديمة. إذا لم يكن الأمر كذلك ، فسوف يتأثر أداء الكتابة ، حيث سيتعين على الأنظمة الموزعة الانتظار بشكل متزامن حتى يتم نشر البيانات. يأتون مع بعض التنازلات.
باستخدام نهج قاعدة البيانات التابعة ، من الممكن توسيع نطاق حركة القراءة إلى حد ما. هناك العديد من الخيارات هنا. لكنك تحتاج فقط إلى تقسيم حركة مرور الكتابة إلى عدةالخوادم لأنها لا تستطيع التعامل معها. طريقة واحدة هي استخدام استراتيجية النسخ المتماثل متعدد الماجستير. هناك ، بدلاً من العبيد ، هناك عدة عقد رئيسية تدعم القراءة والكتابة.
طريقة أخرى تسمى التجزئة. باستخدامه ، يتم تقسيم الخادم إلى عدة خوادم أصغر ، تسمى الأجزاء. تحتوي هذه الأجزاء على إدخالات مختلفة ، ويتم إنشاء قواعد حول الإدخالات التي تدخل في أي جزء. من المهم جدًا إنشاء مثل هذه القاعدة التي يتم فيها توزيع البيانات بالتساوي. من الطرق الممكنة لذلك تحديد النطاقات وفقًا لبعض معلومات التسجيل.
يجب اختيار مفتاح الجزء هذا بعناية شديدة ، لأن الحمل لا يساوي دائمًا قواعد الأعمدة العشوائية. الجزء الوحيد الذي يتلقى طلبات أكثر من الأجزاء الأخرى يسمى نقطة فعالة ، ويحاولون منعه من التكون. بمجرد الانقسام ، تصبح بيانات إعادة المعايرة باهظة الثمن بشكل لا يصدق ويمكن أن تؤدي إلى تعطل كبير.
خوارزميات توافق قاعدة البيانات
يصعب تنفيذ قواعد البيانات في أنظمة الأمان الموزعة لأنها تتطلب كل عقدة للتفاوض على المقاطعة الصحيحة أو تنفيذ الإجراء. تُعرف هذه الجودة بالإجماع وهي مشكلة أساسية في بناء نظام التوزيع. يكون تحقيق نوع الاتفاق المطلوب لمشكلة "الالتزام" أمرًا بسيطًا إذا كانت العمليات المعنية والشبكة موثوقة تمامًا. ومع ذلك ، فإن الأنظمة الحقيقية تخضع لعدد مناحتمال فشل عمليات الشبكات ، الرسائل المفقودة أو التالفة أو المكررة.
هذا يطرح مشكلة وليس من الممكن ضمان الوصول إلى الإجماع الصحيح في غضون فترة زمنية محدودة على شبكة غير موثوق بها. من الناحية العملية ، هناك خوارزميات تصل إلى إجماع سريع إلى حد ما في شبكة غير موثوقة. توفر Cassandra بالفعل معاملات خفيفة الوزن من خلال استخدام خوارزمية Paxos للإجماع الموزع.
الحوسبة الموزعة هي المفتاح لتدفق معالجة البيانات الضخمة التي تم استخدامها في السنوات الأخيرة. إنها طريقة لتقسيم مهمة ضخمة ، مثل 100 مليار سجل تراكمي ، والتي لا يستطيع أي جهاز كمبيوتر واحد القيام بأي شيء بمفرده ، إلى العديد من المهام الأصغر التي يمكن أن تتناسب مع جهاز واحد. يقسم المطور مهمته الضخمة إلى العديد من المهام الأصغر ، وينفذها على العديد من الأجهزة بالتوازي ، ويجمع البيانات بشكل مناسب ، ثم يتم حل المشكلة الأصلية.
يتيح لك هذا الأسلوب التوسع أفقيًا - عندما تكون هناك مهمة كبيرة ، ما عليك سوى إضافة المزيد من العقد إلى الحساب. تم تنفيذ هذه المهام لسنوات عديدة بواسطة نموذج البرمجة MapReduce المرتبط بتنفيذ المعالجة المتوازية وإنشاء مجموعات البيانات الضخمة باستخدام خوارزمية موزعة على مجموعة.
حاليًا ، MapReduce عفا عليه الزمن إلى حد ما ويؤدي إلى بعض المشاكل. ظهرت معماريات أخرى تعالج هذه القضايا. وهي العمارة Lambda لتوزيعهاأنظمة معالجة التدفق. جلبت التطورات في هذا المجال أدوات جديدة: Kafka Streams و Apache Spark و Apache Storm و Apache Samza.
أنظمة تخزين الملفات والنسخ المتماثل
يمكن اعتبار أنظمة الملفات الموزعة بمثابة مخازن بيانات موزعة. هذا هو نفس المفهوم - تخزين كمية كبيرة من البيانات والوصول إليها عبر مجموعة من الأجهزة التي هي كيان واحد. عادة ما يسيران جنبًا إلى جنب مع الحوسبة الموزعة.
على سبيل المثال ، اشتهرت Yahoo بتشغيل HDFS على أكثر من 42000 عقدة لتخزين 600 بيتابايت من البيانات منذ عام 2011. تحدد ويكيبيديا الاختلاف في أنظمة الملفات الموزعة التي تسمح بالوصول إلى الملفات باستخدام نفس الواجهات والدلالات مثل الملفات المحلية ، بدلاً من استخدام واجهة برمجة تطبيقات مخصصة مثل لغة Cassandra Query (CQL).
Hadoop Distributed File System (HDFS) هو نظام يستخدم للحوسبة عبر البنية التحتية Hadoop. على نطاق واسع ، يتم استخدامه لتخزين ونسخ الملفات الكبيرة (بحجم جيجابايت أو تيرابايت) على العديد من الأجهزة. تتكون بنيتها بشكل أساسي من NameNodes و DataNodes.
NameNodes مسؤولة عن تخزين البيانات الوصفية حول الكتلة ، مثل العقدة التي تحتوي على كتل ملفات. إنهم يعملون كمنسقين للشبكة ، ويحددون المكان الأفضل لتخزين الملفات ونسخها ، وتتبع صحة النظام. تقوم DataNodes ببساطة بتخزين الملفات وتنفيذ أوامر مثل النسخ المتماثل للملفات والكتابة الجديدة وملفاتالآخرين.
مما لا يثير الدهشة ، أفضل استخدام لـ HDFS مع Hadoop للحوسبة ، لأنه يوفر وعيًا بمعلومات المهمة. ثم يتم تشغيل الوظائف المحددة على العقد التي تخزن البيانات. يتيح لك ذلك استخدام موقع البيانات - يحسن العمليات الحسابية ويقلل من مقدار حركة المرور عبر الشبكة.
نظام الملفات بين الكواكب (IPFS) هو بروتوكول / شبكة جديدة مثيرة من نظير إلى نظير لنظام الملفات الموزع. باستخدام تقنية Blockchain ، فهي تتميز بهندسة معمارية لا مركزية بالكامل مع عدم وجود مالك واحد أو نقطة فشل.
يقدم IPFS نظام تسمية (مشابه لـ DNS) يسمى IPNS ويسمح للمستخدمين باسترداد المعلومات بسهولة. يقوم بتخزين الملف من خلال الإصدارات التاريخية ، مثل الكثير من Git. هذا يسمح بالوصول إلى جميع الحالات السابقة للملف. لا يزال يمر بتطور كبير (الإصدار 0.4 في وقت كتابة هذا التقرير) ولكنه شهد بالفعل مشاريع مهتمة ببنائه (FileCoin).
نظام المراسلة
توفر أنظمة المراسلة موقعًا مركزيًا لتخزين وتوزيع الرسائل داخل نظام مشترك. إنها تسمح لك بفصل منطق التطبيق عن الاتصال المباشر مع الأنظمة الأخرى.
مقياس معروف - عالجت مجموعة كافكا في LinkedIn 1 تريليون رسالة يوميًا مع ذروة 4.5 مليون رسالة في الثانية.
بعبارات بسيطة ، تعمل منصة المراسلة على النحو التالي:
- رسالةتم تمريره من التطبيق الذي يُحتمل أن ينشئه ، ويسمى منتجًا ، وينتقل إلى النظام الأساسي ، ويتم قراءته من تطبيقات متعددة ، تسمى المستهلكين.
- إذا كنت بحاجة إلى تخزين حدث معين في أماكن متعددة ، مثل إنشاء مستخدم لقاعدة بيانات ، والتخزين ، وخدمة إرسال البريد الإلكتروني ، فإن منصة المراسلة هي أنظف طريقة لتوزيع هذه الرسالة.
هناك العديد من منصات المراسلة المشهورة.
RabbitMQ هو وسيط رسائل يسمح لك بضبط التحكم في مساراتهم بشكل أفضل باستخدام قواعد التوجيه وغيرها من المعلمات القابلة للتكوين بسهولة. يمكن أن يطلق عليه وسيط "ذكي" لأنه يمتلك الكثير من المنطق ويراقب عن كثب الرسائل التي تمر عبره. يوفر خيارات لـ APs و CPs من CAP.
Kafka هو وسيط رسائل أقل فاعلية إلى حد ما لأنه لا يتتبع الرسائل التي تمت قراءتها ولا يسمح بمنطق التوجيه المعقد. إنه يساعد في تحقيق أداء مذهل ويمثل أكبر وعد في هذا المجال من خلال التطوير النشط للأنظمة الموزعة من قبل مجتمع المصادر المفتوحة ودعم فريق Confluent. كافكا هو الأكثر شهرة بين شركات التكنولوجيا الفائقة.
تطبيقات تفاعل الآلة
نظام التوزيع هذا عبارة عن مجموعة من أجهزة الكمبيوتر تعمل معًا لتظهر كجهاز كمبيوتر منفصل للمستخدم النهائي. هذه الآلات في حالة عامة ، وتعملفي وقت واحد ويمكن أن تعمل بشكل مستقل دون التأثير على الجهوزية للنظام بأكمله.
إذا كنت تعتبر قاعدة البيانات موزعة ، فقط إذا تفاعلت العقد مع بعضها البعض لتنسيق إجراءاتها. إنه في هذه الحالة شيء مثل تطبيق يقوم بتشغيل الكود الداخلي الخاص به على شبكة نظير إلى نظير ويتم تصنيفه على أنه تطبيق موزع.
أمثلة على هذه التطبيقات:
- Known Scale - سرب BitTorrent 193000 عقدة لحلقة Game of Thrones.
- تقنية التسجيل الأساسية لأنظمة Blockchain الموزعة.
يمكن اعتبار دفاتر الأستاذ الموزعة قاعدة بيانات ثابتة للتطبيق فقط يتم نسخها ومزامنتها ومشاركتها عبر جميع العقد في شبكة التوزيع.
المقياس المعروف - شبكة Ethereum - كان لديه 4.3 مليون معاملة يوميًا في 4 يناير 2018. يستخدمون نمط Event Sourcing ، الذي يسمح لك باستعادة حالة قاعدة البيانات في أي وقت.
Blockchain هي التقنية الأساسية الحالية المستخدمة لدفاتر الأستاذ الموزعة وتميز بدايتها بالفعل. أحدث هذا الابتكارات وأكبرها في المساحة الموزعة أول بروتوكول دفع موزع حقًا ، بيتكوين.
Blockchain هو دفتر أستاذ موزع يحتوي على قائمة مرتبة بجميع المعاملات التي تمت على شبكته. يتم تجميع الصفقات وتخزينها في كتل. blockchain بأكمله هو في الأساس قائمة مرتبطة من الكتل. كتل محددةمكلفة في الإنشاء وترتبط ارتباطًا وثيقًا ببعضها البعض من خلال التشفير. ببساطة ، تحتوي كل كتلة على تجزئة خاصة (تبدأ بعدد X من الأصفار) لمحتويات الكتلة الحالية (في شكل شجرة Merkle) بالإضافة إلى تجزئة الكتلة السابقة. تتطلب هذه التجزئة الكثير من طاقة وحدة المعالجة المركزية.
أمثلة على أنظمة التشغيل الموزعة
أنواع الأنظمة تظهر للمستخدم لأنها أنظمة مستخدم فردي. يتشاركون في الذاكرة والقرص ، ولا يواجه المستخدم مشكلة في التنقل عبر البيانات. يخزن المستخدم شيئًا ما في جهاز الكمبيوتر الخاص به ويتم تخزين الملف في مواقع متعددة ، أي أجهزة كمبيوتر متصلة بحيث يمكن استرداد البيانات المفقودة بسهولة.
أمثلة على أنظمة التشغيل الموزعة:
- Windows Server 2003 ؛
- Windows Server 2008 ؛
- Windows Server 2012 ؛
- UbuntuLinux (خادم أباتشي).
إذا تم تشغيل أي كمبيوتر أعلى ، أي إذا تم تبادل العديد من الطلبات بين أجهزة الكمبيوتر الفردية ، فهذه هي الطريقة التي تحدث بها موازنة التحميل. في هذه الحالة ، يتم نشر الطلبات على أجهزة الكمبيوتر المجاورة. إذا أصبحت الشبكة أكثر تحميلًا ، فيمكن توسيعها بإضافة المزيد من الأنظمة إلى الشبكة. تتم مزامنة ملفات ومجلدات الشبكة ويتم استخدام اصطلاحات التسمية بحيث لا تحدث أخطاء عند استرداد البيانات.
يتم استخدام التخزين المؤقت أيضًا عند معالجة البيانات. تستخدم جميع أجهزة الكمبيوتر نفس مساحة الاسم لتسمية الملفات. لكننظام الملفات صالح لكل جهاز كمبيوتر. في حالة وجود تحديثات للملف ، تتم كتابته على كمبيوتر واحد ويتم نشر التغييرات على جميع أجهزة الكمبيوتر ، بحيث يبدو الملف كما هو.
يتم قفل الملفات أثناء عملية القراءة / الكتابة ، لذلك لا يوجد طريق مسدود بين أجهزة الكمبيوتر المختلفة. تحدث الجلسات أيضًا ، مثل القراءة وكتابة الملفات في جلسة واحدة وإغلاق الجلسة ، ومن ثم يمكن لمستخدم آخر فعل الشيء نفسه وما إلى ذلك.
فوائد استخدام
نظام تشغيل مصمم لتسهيل حياة الناس اليومية. لمزايا واحتياجات المستخدم ، يمكن أن يكون نظام التشغيل مستخدمًا واحدًا أو موزعًا. في نظام الموارد الموزعة ، ترتبط العديد من أجهزة الكمبيوتر ببعضها البعض وتتشارك مواردها.
فوائد القيام بذلك:
- إذا كان أحد أجهزة الكمبيوتر في مثل هذا النظام معيبًا أو تالفًا ، فستتولى عقدة أخرى أو كمبيوتر آخر.
- يمكن إضافة المزيد من الموارد بسهولة.
- يمكن للموارد مثل الطابعات خدمة أجهزة كمبيوتر متعددة.
هذا موجز عن نظام التوزيع ، ولماذا يتم استخدامه. بعض الأشياء المهمة التي يجب تذكرها: فهي معقدة ويتم اختيارها من حيث الحجم والسعر ويصعب العمل معها. يتم توزيع هذه الأنظمة في عدة فئات تخزين: الحوسبة ، وأنظمة الملفات والرسائل ، والسجلات ، والتطبيقات. وكل هذا سطحي جدا حول نظام معلومات معقد.