كيف يعمل الفيسبوك ؟ الصواميل والمسامير [شرح تقنية]كيف

الشبكات الاجتماعية هي فن التواصل مع أولئك الذين يشاركوننا المصالح المشتركة. بك "~ شبكة 'هو المجتمع الذي يساعد بقائك  المتحدة مع الآخرين، ويوفر الكثير من الفوائد. التواصل عبر مواقع وسائل الاعلام الاجتماعية قد أحدثت ثورة كيفية استخدام الانترنت وهي في طليعة ما نسميه الآن ويب 2.0.

الفيسبوك هو الشبكات الاجتماعية. المستخدم من طرف مستخدمين الانترنت  "facebooking"؟ مع بعضهم  البعض لنحو 8 سنوات الآن، مما يجعل الفيسبوك الشبكة الاجتماعية الأكثر استخداما مع أكثر من 350 مليون مستخدم في جميع أنحاء العالم. لكن كيف يعمل  الفيسبوك ؟

في هذه المقالة، سأناقش عمل الفيسبوك الداخلية، وتغطي هندستها المعمارية والواجهة / البنية التحتية الحالي "" الصواميل والمسامير التي تمسك الفيسبوك معا.

كيف يعمل  الفيسبوك ؟ "" الواجهة الأمامية

الفيسبوك يستخدم مجموعة متنوعة من الخدمات، والأدوات، ولغات البرمجة لتعويض بنيتها التحتية الأساسية. في الواجهة الأمامية، خوادمهم 'servers' تشغيل (لينكس، اباتشي، وMySQL  وPHP) دعونا نلقي نظرة على ما بالضبط هذا يعني.

 لينوكس وأباتشي Linux & Apache




هذا الجزء هو جميلة بذاته. Linux هو تشغيل الكمبيوتر يونكس مثل نواة النظام. انها مفتوحة المصدر، وقابلة للتخصيص للغاية، وجيد بالنسبة للأمن. الفيسبوك يدير نظام التشغيل لينكس على ملقمات HTTP أباتشي. أباتشي هي أيضا حرة وهو الأكثر شعبية على شبكة الإنترنت مفتوح المصدر الخادم في الاستخدام.
  

MySQL




 قاعدة البيانات، ويستخدم الفيسبوك MySQL بسبب سرعتها وموثوقيتها. يتم استخدام MySQL في المقام الأول كمخزن القيمة  الرئيسية كما يتم توزيع البيانات بشكل عشوائي من بين مجموعة كبيرة من الحالات منطقي. وتنتشر هذه الحالات المنطقية خارج عبر العقد المادية ويتم موازنة تحميل على مستوى العقدة الفعلية.

بقدر ما هي المعنية المخصصة ، وقد وضعت خطة تقسيم الفيسبوك المخصصة التي يتم فيها تعيين هوية عالمية لجميع البيانات. لديهم أيضا مخطط مخصص الأرشفة القائم على كيفية البيانات المتكررة والحديثة على أساس كل مستخدم. وتوزع معظم البيانات بشكل عشوائي.

PHP


الفيسبوك يستخدم PHP لأنها لغة برمجة الويب جيدة مع دعم واسع وتطوير المجتمع نشطة وأنه من الجيد للتكرار السريع. . PHP عبارة عن كتابة بشكل ديناميكي/ تفسيرها لغة البرمجة النصية.


Memcache



Memcache هو نظام ذاكرة التخزين المؤقت الذي يتم استخدامه لتسريع ديناميكية قاعدة بيانات يحركها المواقع (مثل الفيسبوك) بواسطة التخزين المؤقت البيانات والكائنات في ذاكرة الوصول العشوائي إلى تقليل وقت القراءة. Memcache هو شكل الفيسبوك في المقام الأول من التخزين المؤقت ويساعد على تخفيف العبء قاعدة البيانات.

وجود نظام ذاكرة التخزين المؤقت يسمح الفيسبوك ليكون  سريعة كما هو في تذكر البيانات الخاصة بك. إذا لم يكن لديك للذهاب الى قاعدة البيانات فإنه يتم جلب البيانات الخاصة بك فقط من ذاكرة التخزين المؤقت بناء على هوية المستخدم الخاصة بك.

سلبيات لاستخدام LAMP

لقد أدركت الفيسبوك أن هناك سلبيات لاستخدام في بنية تخزين العناصر LAMP. وخاصة، لا يتم بالضرورة PHP الأمثل للمواقع الكبيرة وبالتالي من الصعب على نطاق واسع. أيضا، أنها ليست لغة اسرع تنفيذ وتمديد إطار عمل من الصعب استخدام.




Mika Schroepfer، الرئيس الفيسبوك قال نائب الهندسة، فعلت مؤخرا مقابلة في كافة انحاء الإمارات @ معهد ماساتشوستس للتكنولوجيا بشأن هذا. "توسيع أي موقع يمثل تحديا"، وقال Schroepfer "، ولكن توسيع نطاق شبكة اجتماعية تواجه تحديات فريدة من نوعها".

وذهب إلى القول أنه على عكس غيرها من المواقع، لا يمكنك فقط إضافة المزيد من الخوادم لحل المشكلة بسبب الفيسبوك في "مجموعة بيانات ضخمة مترابطة." يتم إنشاء اتصالات جديدة في كل وقت بسبب النشاط المستخدم.

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


كيف يعمل  الفيسبوك ؟"" النهاية الخلفية

يتم كتابة خدمات الفيسبوك في الواجهة الخلفية في مجموعة متنوعة من لغات البرمجة المختلفة بما في ذلك C++, Java, Python، وإرلانج 'Erlang'. فلسفتهم لإنشاء الخدمات على النحو التالي:

1. إنشاء خدمة اذا لزم الامر

2. إنشاء إطار / مجموعة أدوات لتسهيل توفير خدمات

3. استخدام لغة البرمجة المناسبة للمهمة

ويمكن الاطلاع على قائمة من كافة التطورات في الفيسبوك مفتوحة المصدر هنا. سأناقش عدد قليل من الأدوات الأساسية التي تطورت الفيسبوك.

Thrift(بروتوكول)


Thrift هو خفيف الوزن استدعاء الإجراء البعيد عن الإطار قابلة للتطوير الخدمات عبر اللغة. التوفير يدعم C + +، PHP، بيثون 'Python'، بيرل 'Perl'، جافا 'Java'، روبي 'Ruby'، إرلانج 'Erlang'، وغيرها. انه سريع، يوفر الوقت التنمية، ويوفر تقسيم العمل من العمل على خوادم عالية الأداء والتطبيقات.



Scribe (خادم السجل)

Scribe هو خادم لتجميع بيانات السجل المتدفقة في الوقت الحقيقي من خوادم أخرى كثيرة. بل هو إطار تحجيم مفيد لتسجيل مجموعة واسعة من البيانات. انها بنيت على أعلى من Thrift.

Cassandra (قاعدة بيانات)



Cassandra هو نظام إدارة قواعد البيانات المصممة للتعامل مع كميات كبيرة من البيانات تنتشر عبر العديد من ملقمات. انها ميزة القوى الفيسبوك في البحث الوارد ويوفر تنظيما المفتاح القيمة مخزن مع الاتساق في نهاية المطاف.


HipHop for PHP

HipHop for PHP هو محول الكود لالتعليمات البرمجية سكريبت PHP وأنشئت لتوفير موارد الخادم. الهيب هوب يحول PHP شفرة المصدر إلى أقصى حد C + +. بعد القيام بذلك، فإنه يستخدم G + + لترجمة ذلك على رمز الجهاز.

اختتام

باختصار، هذا هو الفيسبوك. ويمكن أن تكون هذه المادة بسهولة 37 صفحة لفترة أطول إذا كان لي أن نخوض في مزيد من التفاصيل، ولكن للإجابة على السؤال "كيف يمكن عمل الفيسبوك؟"؟ وأعتقد أن هذا لن يكون كافيا. اذا نظرتم الى الماضي كل من الميزات والابتكارات الفكرة الرئيسية وراء الفيسبوك هو في الحقيقة الأساسية للغاية "" إبقاء هؤلاء الناس متصلة. الفيسبوك يدرك قوة الشبكات الاجتماعية والابتكار باستمرار للحفاظ على خدمتهم أفضل في الأعمال التجارية.

لم تجد هذه المادة مفيدة؟ ترك أفكارك، والتعليقات، والأفكار أدناه!




إرسال تعليق

أحدث أقدم